user819529 Asked: 2018-11-30 19:52:58 +0800 CST2018-11-30 19:52:58 +0800 CST 2018-11-30 19:52:58 +0800 CST 如何将矢量数字 5 位数字转换为日期格式 772 我正在尝试在 shell 脚本中将日期格式转换为 10/03/2018 到 43376,这可以通过使用格式单元格选项作为 excel 中的数字来完成。如何在 shell 脚本中做到这一点? date conversion 1 个回答 Voted Best Answer pizdelect 2018-11-30T20:52:37+08:002018-11-30T20:52:37+08:00 假设这个博客上的信息是真的,这个公式应该可以做到: date_to_msidx(){ echo $(( $(TZ=UTC date -d "$1" +%s) / 86400 + 25569)); } date_to_msidx 10/03/2018 43376 date_to_msidx 07/05/1998 35981 这是微软的“1900 日期系统”;自 1900 年 1 月 1 日以来的天数从 1 开始,但错误地将 1900 年视为闰年(比实际时间长一天)。 该公式首先用于date +%s将其转换为 Unix 时间(自 1970/01/01 以来的 ~secs),将其除以一天中的秒数(86400),然后将 1900/01/01 到 1970/ 的天数相加01/01 (25569) 使用上述系统预先计算。 这是假设 GNU 日期;将其改编为其他系统/语言作为练习留给读者。
假设这个博客上的信息是真的,这个公式应该可以做到:
这是微软的“1900 日期系统”;自 1900 年 1 月 1 日以来的天数从 1 开始,但错误地将 1900 年视为闰年(比实际时间长一天)。
该公式首先用于
date +%s
将其转换为 Unix 时间(自 1970/01/01 以来的 ~secs),将其除以一天中的秒数(86400),然后将 1900/01/01 到 1970/ 的天数相加01/01 (25569) 使用上述系统预先计算。这是假设 GNU 日期;将其改编为其他系统/语言作为练习留给读者。