当前位置: 首页 > 面试题库 >

如何在Excel中将Unix纪元时间戳转换为人类可读的日期/时间?

常睿范
2023-03-14
问题内容

我有包含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"))


 类似资料:
  • 我正在训练把人类可读时间转换成纪元时间。这是我的测试用例 上面的代码打印4次“无效输入”,然后第5行打印正确的历元值,因为我的text='12.12.2020'输入字符串符合第5个条件。我需要打印,如果我的“文本”条件符合任何这些格式,然后只打印纪元值,否则打印“无效输入”。有谁能帮我解决这个问题吗?提前道谢。

  • 问题内容: 是否存在可用于将Unix时间戳转换为人类可读日期的MySQL函数?我有一个字段可以保存Unix时间,现在我想为人类可读的日期添加另一个字段。 问题答案: 用途: 另请参阅:的 MySQL文档。

  • 上下文是,我们的产品中有一个现有的应用程序,它生成并向现有的oracle过程发送纪元号&反之亦然。它在该过程中使用如下内容 当我尝试这些查询时,它对我也适用于Oracle10g服务器(如果有关系的话,还有Oracle sql Developer4.x)。 在现有的过程中,要求将值保存为日期本身(时间组件与日期无关),但是在新的要求中,我必须将unix EPOCH值转换为日期时间(小时/分钟/秒级别

  • 如何在Spring boot2中用MongoDB将日期转换为纪元(unix时间戳)?

  • 我试图编写一个SQL表达式,该表达式将在特定时区将unix历元(1970/1/1以来的秒)转换为本地时间,并从中提取小时值。在研究了这段时间的解决方案后,我仍然不确定如何处理时区。注意,我尽量避免使用NEW_TIME()函数,因为它只使用时区缩略词的有限子集,而不使用全时区名称。 结果是 结果有几个问题 第1列:从时间戳开始,该值比使用日期关闭1小时 第2列:在America/los_Angele

  • 问题内容: 我正在尝试将19位Unix时间戳(例如,一个五分之五)转换为可读的日期/时间格式。我的时间戳以6个零结尾,这表明时间以纳秒为单位。 我遇到了一些例子,其中人们使用了我不需要的时区。另一个示例使用ofEpochSecond像这样: 但是我不确定是否需要使用EpochSecond。 下面的代码提供了我最新的实现方法: 但是我得到的输出是这样的: 它不以例如2019格式显示年份格式。 问题答