我有包含Java应用程序中的Unix时间戳的Excel文档。我想看看它们翻译成什么,并在Excel中将其表示为人类可读的日期。
例如,以下long: 1362161251894的 求值 结果 应类似于: 2013年3月1日11:07:31,894
我假设可以为此创建一个公式,但不确定如何。谢谢!
是的,您可以创建一个公式来为您执行此操作。Java和Unix / Linux计算自1970年1月1日以来的毫秒数,而Microsoft Excel从Windows的1/1/1900和Mac OS X的1/1/1904开始计算。您只需要执行以下操作即可兑换:
对于Windows上的GMT时间
=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))
对于Mac OS X上的GMT时间
=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))
对于Windows上的本地时间(用当前的GMT偏移量替换t)
=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))
对于Mac OS X上的本地时间(用当前的GMT偏移量替换t)
=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))
在您的特定情况下,您似乎处于山区时间(GMT偏移为 7 )。因此,如果我将给定的 1362161251894 的值粘贴到单元格A1中的新Excel电子表格中,然后粘贴以下公式,则会得到41333.46356的结果,如果我随后告诉Excel将其格式化为日期(在单元格上按ctrl + 1 )是: 13-2-28上午11:07
=(((A1/1000)-(7*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))