如何将Unix时间戳转换为人类可读的?


15

如标题所述,我在工作表上有Unix时间戳,需要将它们转换为普通的人类可读日期。到目前为止,我很惊人,Google搜索提出了一些建议,但对我来说根本没有用。有人有公式可以将其转换吗?

Answers:


23

我更喜欢一个更透明,魔幻数字更少的公式。这样可以更轻松地查看正在发生的情况,还可以避免出现错误的可能性(例如,该问题的当前最高答案是在1天后关闭):

=A1/60/60/24 + DATE(1970,1,1)

而且,如果要将其从UTC转换为偏移了一定小时数的时间戳,例如UTC-8:

=A1/60/60/24 + DATE(1970,1,1) - 8/24

很好,我认为这实际上是一个更好的答案,所以我将除此以外……谢谢!
JVC

是的,这似乎对我不起作用,它输出了一些奇怪的日期。知道为什么吗?
JayPex

@JayPex不知道,但是也许您提供了更多详细信息。要检查的一件事是该单元格的格式。
Dave L.

8

Google表格会以天为单位测量日期时间,0标记为1899-12-30 0:00:00。这是在1970年之前,此刻的Unix时间戳(假设GMT时间)为负,即-2209161600。所以,公式

=(A1 + 2209161600)/86400

会将单元格A1中的Unix时间戳转换为日期时间(使用公式来格式化单元格)。

局限性:

  • seconds秒被忽略
  • 该公式适用于格林尼治标准时间(GMT),而Google表格时间是本地时区。要调整您所在时区的公式,请访问https://www.epochconverter.com/并获取当地时间1899-12-30 0:00:00的时间戳。

正如mbican回答的那样,该公式在1天后失效。xkcd.com/386
Dave L.

答案现已确定。
Dave L.

3

结果对我来说是一天,所以我将其更改为 =to_date((A1+2209161600)/86400)


1

在Google表格中

A1->具有* nix时间戳的单元格

日期公式 =(((A1/60)/60)/24)+DATE(1970;1;1)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.