我为 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 (编辑:唐山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 全球操作系统市场6月数据:Windows 10占主导 但增长有限
- 9012年,Linus终于意识到没什么人在用软盘了
- win-universal-app – 如何在Windows 10 UWP中实现图表控制
- 怎么删除Win10的多余网络 删掉Win10的多余网络的方法
- 如何在Ubuntu和其他Linux发行版上使用7Zip
- Chrome OS出错:Chromebook提前收到终止更新通知
- Windows10正式版价格公布
- windows-server-2003 – 如何在本地Windows服务器上获取共享
- 如何加速运行Windows 10的PC?
- windows-server-2008 – 什么是Windows等同于Puppet / chef