【发布时间】:2020-10-20 00:52:07
【问题描述】:
from datetime import datetime
import pandas as pd
date="2020-02-07T16:05:16.000000000"
#Convert using datetime
t1=datetime.strptime(date[:-3],'%Y-%m-%dT%H:%M:%S.%f')
#Convert using Pandas
t2=pd.to_datetime(date)
#Subtract the dates
print(t1-t2)
#subtract the date timestamps
print(t1.timestamp()-t2.timestamp())
在这个例子中,我的理解是 datetime 和 pandas 都应该使用 timezone naive 日期。谁能解释为什么日期之间的差异为零,但时间戳之间的差异不为零?对我来说,时间差了 5 小时,这是我与 GMT 的时区偏移量。
【问题讨论】:
-
"警告由于许多 datetime 方法将幼稚的 datetime 对象视为本地时间,因此最好使用可感知的 datetimes 来表示 UTC 时间。因此,推荐的方法来创建表示特定对象的对象UTC 中的时间戳是通过调用 datetime.fromtimestamp(timestamp, tz=timezone.utc)。"来自 Python 日期时间
-
本地日期时间返回一个了解您当地时区的时间。