1 回答

TA贡献1804条经验 获得超3个赞
解决此问题的一个不那么有效的解决方法是addDays
d := time.Date(1900, 1, 1, 0, 0, 0, 0, time.UTC)
fmt.Println(d) // 1900-01-01 00:00:00 +0000 UTC
d2 := d.AddDate(0, 0, 44503)
fmt.Println(d2) // 2021-11-05 00:00:00 +0000 UTC
将打印:2021 年 5 月 11 日女巫比我们想要的多 2 天。
在这里,我们可以使用 JavaScript 看到相同的结果:
date = new Date(1900, 0, 1)
// Mon Jan 01 1900 00:00:00 GMT-0338 (Amazon Standard Time)
date.setDate(date.getDate() + 44503)
// Fri Nov 05 2021 00:00:00 GMT-0400 (Amazon Standard Time)
在对这 2 天进行一些研究后,我在@chux-reinstate-monica 的评论中发现了这一点:
如果您选择使用 MS Excel 来检查您的工作笔记 2 件事:1)1900 年 1 月 1 日是第 1 天(不是自 1900 年 1 月 1 日以来的天数)和 2)根据 Excel 1900 年 2 月 29 日存在(一个错误在他们的代码中,他们拒绝修复。)
所以我们可以从中减去 2 天得到:03/11/2021。
- 1 回答
- 0 关注
- 197 浏览
添加回答
举报