为了账号安全,请及时绑定邮箱和手机立即绑定

如何计算excel日期生成的自1900年以来的天数?

如何计算excel日期生成的自1900年以来的天数?

Go
慕虎7371278 2022-10-17 17:05:46
Excel 正在将日期 03/11/2021 转换为值 44535,这似乎是自 1900 年以来的几天。我试图找出一种使用我自己的 golang 库来计算它的方法。有没有人有这种问题?非常感谢您的帮助
查看完整描述

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。


查看完整回答
反对 回复 2022-10-17
  • 1 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号