Python 两个不同的秒,按日期时间库显示相同的日期

Python 两个不同的秒,按日期时间库显示相同的日期,python,python-3.x,datetime,Python,Python 3.x,Datetime,最近我在我的数据库中发现了这个问题。第三方以秒的形式传递数据,我使用python将其转换为日期,并将其存储到DB。但是两个不同的秒被保存为一个日期。 我怎样才能避免这种情况? 我的代码: 结果是: A: 2020-09-15 23:00:00 B: 2020-09-15 23:00:00 通过在调用时设置tz参数,可以显式转换为UTC()。例: 现在你可以转换到某个时区,例如 from zoneinfo import ZoneInfo # Python 3.9+, for older ve

最近我在我的数据库中发现了这个问题。第三方以秒的形式传递数据,我使用python将其转换为日期,并将其存储到DB。但是两个不同的秒被保存为一个日期。 我怎样才能避免这种情况? 我的代码:

结果是:

A:  2020-09-15 23:00:00
B:  2020-09-15 23:00:00

通过在调用时设置
tz
参数,可以显式转换为UTC()。例:

现在你可以转换到某个时区,例如

from zoneinfo import ZoneInfo # Python 3.9+, for older versions use e.g. backports.zoneinfo
zone = ZoneInfo('Asia/Tehran')

A = A.astimezone(zone)
B = B.astimezone(zone)

print(A.isoformat(' '), str(A.tzinfo))
print(B.isoformat(' '), str(B.tzinfo))

>>> 2020-09-15 23:00:00+04:30 Asia/Tehran
>>> 2020-09-16 00:00:00+04:30 Asia/Tehran

我认为您的导入应该是
从datetime导入datetime
。您用来运行此代码的机器设置为哪个时区?我的意思是,您希望在哪个时区显示日期?无法复制。几乎肯定与代码A和代码B运行的不同时区有关。@MrFuppes,我从datetime import datetime改为
,但问题是存在的。但是你的权利。源数据时区为UTC,我的机器为+3:30@wim,A和B具有相同的源,并且它们在源应用程序中是正确的,并且都在我的PCHm上运行,您是否在2020-9-15到2020-9-16期间更改了DST?这将是一个不寻常的日期,但这是我现在唯一能想到的解释重复日期的事情。
from datetime import datetime, timezone
# Unix time / seconds since the epoch refers to UTC:
A = datetime.fromtimestamp(1600194600, tz=timezone.utc)
B = datetime.fromtimestamp(1600198200, tz=timezone.utc)

print(A.isoformat(' '))
print(B.isoformat(' '))

>>> 2020-09-15 18:30:00+00:00
>>> 2020-09-15 19:30:00+00:00
from zoneinfo import ZoneInfo # Python 3.9+, for older versions use e.g. backports.zoneinfo
zone = ZoneInfo('Asia/Tehran')

A = A.astimezone(zone)
B = B.astimezone(zone)

print(A.isoformat(' '), str(A.tzinfo))
print(B.isoformat(' '), str(B.tzinfo))

>>> 2020-09-15 23:00:00+04:30 Asia/Tehran
>>> 2020-09-16 00:00:00+04:30 Asia/Tehran