【发布时间】:2023-04-08 16:15:01
【问题描述】:
这里我有这样的字符串"1322485986.672901000",数据类型是代表unixtime的字符串。我想在 Python 中将其转换为日期时间。
我使用的方式是date = datetime.fromtimestamp(float(row[0])) row[0] 代表这样的值1322485986.672901000,因为我有几行。转换结果是错误的,它只计算点之前的数字。所以转换后的日期就像 2011-11-28 13:53:23.6729
我认为问题是float(row[0]),但我不知道如何解决这个问题,或者有谁知道如何以更好的方式将unixtime转换为datetime?
非常感谢!
现在我得到的结果是 2011-11-28 14:13:06.672901
但是使用在线转换器时,结果是2011-11-28 13:13:06
【问题讨论】:
-
正确的结果是什么?
-
因为这个结果保持 .原始字符串中的 6729,这意味着它只使用前 10 位来计算日期时间。正确的结果是 yyyy-mm-dd hh:mm:ss
-
对我来说很合适。您似乎在几秒钟内丢失了少量精度(.672901000 到 .6729),但即使这样也可能只是输出格式。
-
所以你想忽略小数部分?你很不清楚,请发布你想要的确切结果。
-
小数点前的部分是unix epoch中的秒;小数点后的部分是几分之一秒。如果要查看 yyyy-mm-dd hh:mm:ss,请使用
int(float(row[0]))。
标签: python datetime unix-timestamp