#1 楼
我更喜欢一个更透明,魔术数字更少的公式。它可以更轻松地查看正在发生的情况,还可以避免出现错误的可能性(例如,该问题的当前最高答案已在1天后关闭):=A1/60/60/24 + DATE(1970,1,1)
如果您要将其从UTC转换为偏移了几个小时的时间戳,例如UTC-8:
=A1/60/60/24 + DATE(1970,1,1) - 8/24
请注意,如果您的Unix时间戳以毫秒为单位,您需要先除以1000,即:
=A1/1000/60/60/24 + DATE(1970,1,1) - 8/24
#2 楼
Google表格会以天为单位测量日期时间,0标记为1899-12-30 0:00:00。这是在1970年之前,此刻的Unix时间戳(假设GMT时间)为负,即-2209161600
。因此,公式=(A1 + 2209161600)/86400
会将A1单元格中的Unix时间戳转换为日期时间(使用这样的公式格式化单元格)。
局限性:
Le秒被忽略
该公式适用于格林尼治标准时间,而Google Sheets时间则在当地时区。要调整时区的公式,请访问https://www.epochconverter.com/并获取当地时间1899-12-30 0:00:00的时间戳。
评论
正如mbican回答的那样,该公式在1天后失效。 xkcd.com/386
–戴夫L。
17年12月11日17:22
答案现已确定。
–戴夫L。
17年12月12日下午4:11
#3 楼
结果对我来说是一天,所以我将其更改为=to_date((A1+2209161600)/86400)
#4 楼
在Google表格中A1->具有* nix时间戳的单元格
日期公式
=(((A1/60)/60)/24)+DATE(1970;1;1)
#5 楼
如果您想将时间戳转换为人类可读日期的最简单方法,请尝试使用此时间戳转换器工具评论
请注意,该问题与Google表格有关
–科斯
19-09-26在20:08
评论
很好,我认为这实际上是一个更好的答案,所以我将除此以外……谢谢!
– JVC
17年12月11日在21:54
是的,这似乎对我不起作用,它输出了一些奇怪的日期。知道为什么吗?
– JayPex
20-2-16在9:31
@JayPex不知道,但是也许您提供了更多详细信息。要检查的一件事是该单元格的格式。
–戴夫L。
20-2-19在18:03
这个公式给我#ERROR,可能是由于混合类型。这一个:= A2 / 60/60/24 + DATEVALUE(“ 1970/1/1”)通过。
– Ignacio Soler Garcia
20 Sep 24'9:01
@IgnacioSolerGarcia对我而言,非常有趣的是,当我不这样做时,您和JayPex遇到了错误。我希望我能重现它。我也明白了您对混合类型的含义,并且不知道Google表格在类型之间进行自动转换所使用的规则。为了进行仔细的转换,我认为这也许是安全的:TO_DATE(A1 / 60/60/24 + N(DATE(1970,1,1)))。它将明确地从日期转换为数字,添加到数字,然后转换回日期。
–戴夫L。
20-09-24在16:04