Pandas |时间转换

Pandas | time conversions

我有一个关于 Python/Pandas 中时间转换的问题。以下内容我不是很清楚。

t1 = datetime.datetime(2021,9,15,6,0)
tt1 = t1.timestamp()
pd.to_datetime(tt1,unit='s')
[1] Timestamp('2021-09-15 04:00:00')

我需要更改什么才能获得以下结果:

[1] Timestamp('2021-09-15 06:00:00')

谢谢!

您可以使用

抵消与 GMT 的时差
pd.to_datetime(tt1, unit='s') + pd.Timedelta('02:00:00')

有关详细信息,请参阅

您必须在 t1 中将时区设置为 UTC,因为您使用的是天真的日期时间,并且当您将 pd.to_datetime 与浮点数一起使用时,Pandas 假定该数字是相对于 1970-01-01 00:00:00+0000 而不是来自您当地的时区。 1631678400.0 没有关于您所在时区的信息。

t1 = datetime.datetime(2021,9,15,6,0)
tt1 = t1.replace(tzinfo=datetime.timezone.utc).timestamp()
print(pd.to_datetime(tt1,unit='s'))

# Output
2021-09-15 06:00:00