如何将 FILETIME 转换为 Excel 日期

Air*_*ir2 3 excel date

我有一个文件时间值,例如:122327856000000000 并想将其转换为 excel 日期 (1988-aug-23)

Air*_*ir2 6

我只能找到 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)
Run Code Online (Sandbox Code Playgroud)

与以下相同:

((CELL-116444736000000000)/864000000000)+DATE(1970,1,1)
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助别人。