我有一些包含Java应用程序的Unix纪元时间戳的Excel文档。 我想查看它们的翻译,并在Excel中表示它们为人类可读日期。
例如,以下长整型:1362161251894 应该被转换为可读的东西,如:01 Mar 2013 11:07:31,894 我假设我可以为此创建一个公式,但我不确定如何操作。谢谢!
例如,以下长整型:1362161251894 应该被转换为可读的东西,如:01 Mar 2013 11:07:31,894 我假设我可以为此创建一个公式,但我不确定如何操作。谢谢!
是的,您可以创建一个公式来为您完成此操作。Java和Unix / Linux从1970年1月1日开始计算毫秒数,而Microsoft Excel在Windows上从1900年1月1日开始计算,Mac OS X上从1904年1月1日开始计算。您只需要执行以下操作进行转换:
对于Windows上的GMT时间
=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))
=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))
对于 Windows 上的本地时间(将 t 替换为您当前与 GMT 的偏移量)
=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))
在 Mac OS X 上获取本地时间(将 t 替换为您与 GMT 的当前偏移量)
=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))
=(((A1/1000)-(7*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))
=(A1/86400)+25569
时间点以毫秒为单位给出(1523060201838
)。
用户希望转换为纽约时区(GMT -04:00或DST -14400)。
Excel的A1单元格中有13位数的时间点数值。
((A1/1000)-14400)/86400 + 25569
转换为4/6/18 8:16 PM
(在您将单元格格式设置为日期之后)。
尝试
=(A2/86400)+DATE(1970,1,1)+TIME(5,30,0)
这将有助于本地时间,例如印度是GMT + 5:30。
我发现最容易记忆和阅读的公式如下:
将Unix/Epoch时间戳转换为Excel日期(假设时间戳在A2中):
=(A2/86400)+DATE(1970,1,1)
这将生成GMT Excel时间值。然后,您需要设置单元格的格式为其中的日期格式之一,或创建自定义格式。我倾向于使用以下任一格式:
dd-mmm-yy --> gives 05-Oct-18
dd-mmm-yyyy hh:mm:ss --> gives 05-Oct-2018 09:45:12
将日期转换为Epoch时间戳(假设日期在A2中):
=(A2-DATE(1970,1,1))*86400
=(A2/86400)+DATE(1970,1,1)+(-5/24)
=A1/86400/1000+DATEVALUE("1-1-1970")
=A1/86400/1000+DATEVALUE("1-1-1970")+t/24
x
后面删除/1000
。 - David Jones