python3 datetime模块,python的datetime用法

  python3 datetime模块,python的datetime用法

  当我们想给其他时区的亲朋好友打电话时,就涉及到不同的时区。可能这里是白天,对他们来说已经是午夜了。所以不宜仓促打电话。我们需要计算他们的时区来取得联系。那么,跨时区计算有什么好方法呢?今天,边肖将使用python3中的datetime来教你计算。

  这样,由datetime (2019,1,1,0,0)声明的对象没有时区信息。每个DateTime对象都有一个tzinfo属性,而刚刚生成的这个对象的tzinfo是None。如果要声明一个带时区信息的datetime对象,需要先声明一个时区,这个时区就是一个时区对象,可以用timedelta构造。

  e8zone=time zone(time delta(hours=8),亚洲/上海)

  d=日期时间(2019,1,1,0,0,0,tzinfo=e8zone)

  打印(d ),此时的输出是

  2019-01-0100:00 08336000可以看出08:00的信息比之前多了,表示东八区。如果是没有时区的datetime对象,将不输出时区部分。

  此外,您可以自定义datetime对象的输出。

  f=d . strftime( % Y-% m-% d % h :% m :% s . % f % Z )

  打印(f)此时,输出将是

  2019-01-0100:00336000.00000亚洲/上海此时,%Z以文本形式输出时区。如果您想要类似于0800的时区格式,可以将其更改为% z。

  时区不仅仅是8,-8,还有加拿大纽芬兰等不规则时区。

  e3mzone=timezone(timedelta(小时=-3,分钟=-30),加拿大/纽芬兰)

  d=datetime.datetime(2019,1,1,0,0,0,tzinfo=e3mzone)

  打印(d)将输出

  2019-01-0100:0336000 08336000并且当我们更改时区时,默认的python包不会自动转换。

  e3mzone=timezone(timedelta(小时=-3,分钟=-30),加拿大/纽芬兰)

  d=datetime.datetime(2019,1,1,0,0,0,tzinfo=e3mzone)

  打印(d)

  e8zone=time zone(time delta(hours=8),亚洲/上海)

  d=d.replace(tzinfo=e8zone)

  打印(d)将输出

  2019-01-0100:00:00-03:30

  2019-01-0100:00:00 08:00

  替换不同时区,不用自己计算不同时区的时差,不是很有趣吗?更多Python学习推荐:PyThon学习网教学中心。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: