如何将FILETIME转换为Excel日期

4
我有一个文件时间值,例如:122327856000000000,想要将其转换为Excel日期(1988年8月23日)。
2个回答

8

我只找到了将时间转换为 Unix 时间(1970 年 1 月 1 日以来的秒数),但没有找到将文件时间转换为纳秒(1601 年 01 月 01 日以来的纳秒数)的方法,因此我想出了以下解决方案:

首先需要将文件时间转换为 Unix 时间,即减去 1970/1/1 和 1601/1/1 之间的纳秒数差值 116444736000000000。得到的值可以轻松地转换为日期时间格式,因此最终公式如下:

((CELL-116444736000000000)/10000000)/(24*60*60)+DATE(1970,1,1)

这与以下内容相同:

((CELL-116444736000000000)/864000000000)+DATE(1970,1,1)

希望能帮到其他人。

0

如果你想回到过去,你可以将Excel转换为文件时间:

=((CELL-DATE(1970,1,1))*86400*10000000+116444736000000000)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接