excel中的数字到目前为止的转换(奇怪的格式)

时间:2013-06-27 14:42:54

标签: excel date excel-formula

我从sql收集了一些细节,它显示了生日如下(每行代表不同的生日):

-294022800
649119600
-138675600
49158000
32396400
631152000
-2147483648
731894400
-408067200
522025200

我试图使用以下公式在excel中更改它们:

=DATE(INT(A1/10000),INT((A1-10000*INT(A1/10000))/100),A1-(100*INT(A1/100)))

但它不能很好地工作,它必须采用不同的格式。你知道它是什么样的格式以及如何在excel中将它转换为日期?为什么有些数字是否定的? 这可以是EPOCH格式吗?如何在excel中将其更改为正常的人类日期?

3 个答案:

答案 0 :(得分:4)

我的猜测是它们是unix时间戳http://en.wikipedia.org/wiki/Unix_time

在excel中,您可以使用以下内容:

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

尽管如此,您必须注意您的日期时间似乎包含夏令时抵消。 (其中一些是一天的倍数(24 * 60 * 60),但其他的则是一小时)。我不知道为什么你有一个非小时数(-2147483648),可能是原系统的一些怪癖。

来源:http://spreadsheetpage.com/index.php/tip/converting_unix_timestamps/

答案 1 :(得分:2)

可以使用此公式

转换Unix时间戳

=A1/86400+DATE(1970,1,1)

Unix时间戳是自1970年1月1日以来的秒数,因此在此之前的生日将为负数。 [其中一个生日转换为1901年 - 是吗?如果任何日期在1900年之前,您将遇到问题,因为Excel无法识别这些日期]

答案 2 :(得分:0)

好吧,我明白了。这是公式:

=(A1-(4*3600))/86400+25569