我为 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 (编辑:哈尔滨站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows:将stdout和stderror重定向到空
- 详解Linux 磁盘I/O优化(Oracle RAC)
- win10提示telnet不是内部或外部指令怎么办
- windows-server-2008 – IIS7.5管理器中“虚拟字节”在“工
- 最后的Windows XP,也将在4月9日退役
- windows7 64位python pip安装错误:无法找到vcvarsall.bat
- 微软教你在Windows 10中发表情 评论翻车了
- 微软新一代Windows稳了:Windows 10瞬间不香
- 如何在Windows 10中将安全模式添加到引导菜单选项?
- 如何使用Linux Live CD/USB恢复Windows 10文件


