python中'astimezone'和'replace'的行为不一致

2024-10-01 19:32:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用aztimezone对给定的日期进行本地化。我知道使用replace来更改tzinfo只会更改时区,不会影响总的日期和时间,但我希望aztimezonereplace的结果具有相同的时区

PoC:

 logger.error(list(payments)[-1].created_time)
 logger.error(list(payments[-1].created_time.astimezone(timezone.get_default_timezone()))
 logger.error(list(payment[-1].created_time.replace(tzinfo=timezone.get_default_timezone()))

输出:

2017-06-24 20:11:10.130427+00:00
2017-06-25 00:41:10.130427+04:30
2017-06-24 20:11:10.130427+03:26

正如您所看到的,astimezone的偏移量是4:30,但是replace的偏移量是03:26。 如果两者都使用默认时区,这怎么可能呢


Tags: defaultgettime时间errorloggerreplacelist

热门问题