Python 类datetime的方法 replace 与 astimezone 区别
- astimezone: 改变时区, 例如 utc 时间 为 2021/04/15 17:00:00 改为 北京时间后,则变为 2021/04/16 01:00:00
- replace(tzinfo = new_timezone_info) 替换时区, 时间数值不会发生变化,例如 utc 时间为 2021/04/15 17:00:00 改为 北京时间 2021/04/15 17:00:00 , 或者 没有timezone 的 datetime实例 可以通过这个函数附上 timezone
注意事项:
- astimezone 与 replace 都返回一个全新的datetime实例, 不会修改原有datetime实例
- 如果datetime实例的tzinfo 为None, 此时 astimezone 的效果等同 replace.
dtime.astimezone() dtime.replace(tzinfo= local_time_zone)
这两者返回的对象是一样的,因为此时datetime没有时区, astimezone 自然无法修改时间的数值,而只是增加了tzinfo