我为 Windows 10 修复了一个 bug
|
问题正是在于此,写这段代码的人以为代码会按预料中执行:
逐一运行后如下:
常见情况下的确如此。 但问题在于:“如果起始日期为某月的第 31 天,结束日期所在的月份只有 30 天,该以哪天作为结束的标志?”对于 Windows.Globalization.Calendar.AddMonths(Int32) 来说,它的答案显然是“在第 30 天”。 具体而言,这就意味着: “July 31st + 4 Months = November 30th” 然而实际情况是: “July 31st + 5 Months = December 31st” 这就引起了“差一错误”。逐步调用 接着 Peter 在 Windows 计算器的 GitHub 仓库提交了一个 PR 以进行最小化“修复”。
Peter 为修复加上了引号,是因为它最后计算出的结果如下:
Peter 表示,如果各位认可“7月31日+ 4个月= 11月30日”这样的结果,他认为这在技术上是正确的。虽然完整的结果不符合大众对日期间隔天数的阅读习惯,但至少不会出错。 不过这件事中,最令人深刻的是微软最后合并了 Peter 提交的 PR 以修复这个问题。
这说明微软的开源项目不仅仅是将代码托管在 GitHub 而已,而是会听取来自社区用户的建议和改进。 那么问题来了,如果是你,你会怎样解决这个错误呢? 【编辑推荐】
点赞 0 (编辑:拼字网 - 核心网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- win7提示资源保护发现文件损坏但不能修复
- windows-server-2008 – IIS 7仍然提供旧的SSL证书
- win7电脑删除文件提示需要system权限怎么办
- 微软Windows 10 Build 19044.1503 KB5009596 发布
- 使用forward_agent选项从Windows部署Capistrano选项:“从认
- Windows Server:复制没有DFS的文件夹?
- Linux Kernel 4.20首个维护版本更新发布 已稳定可广泛部署
- win10系统里怎么显示隐藏的文件夹
- 在Fedora中利用ffsend使用Firefox Send
- Azure Blob存储限??制和过滤器



