Python 类datetime的方法 replace 与 astimezone 区别

  1. astimezone: 改变时区, 例如 utc 时间 为 2021/04/15 17:00:00 改为 北京时间后,则变为 2021/04/16 01:00:00
  2. replace(tzinfo = new_timezone_info) 替换时区, 时间数值不会发生变化,例如 utc 时间为 2021/04/15 17:00:00 改为 北京时间 2021/04/15 17:00:00 , 或者 没有timezone 的 datetime实例 可以通过这个函数附上 timezone

注意事项:

  1. astimezone 与 replace 都返回一个全新的datetime实例, 不会修改原有datetime实例
  2. 如果datetime实例的tzinfo 为None, 此时 astimezone 的效果等同 replace.
    dtime.astimezone() dtime.replace(tzinfo= local_time_zone)
    这两者返回的对象是一样的,因为此时datetime没有时区, astimezone 自然无法修改时间的数值,而只是增加了tzinfo

posted on 2022-12-21 15:30  norsd  阅读(4)  评论(0编辑  收藏  举报  来源

导航