如何获取当前包含默认时区的等格式日期时间字符串? [英] How to get current isoformat datetime string including the default timezone?

查看:57
本文介绍了如何获取当前包含默认时区的等格式日期时间字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要生成一个与iso格式匹配的时间字符串yyyy-mm-ddThh:mm:ss.ssssss-ZO:NEnow()utcnow()类方法几乎做了我想做的事情。

>>> import datetime
>>> #time adjusted for current timezone
>>> datetime.datetime.now().isoformat()
'2010-08-03T03:00:00.000000'
>>> #unadjusted UTC time
>>> datetime.datetime.utcnow().isoformat()
'2010-08-03T10:00:00.000000'
>>>
>>> #How can I do this?
>>> datetime.datetime.magic()
'2010-08-03T10:00:00.000000-07:00'

推荐答案

在Python3.2+中获取当前时间,单位为UTC:

>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'

获取Python3.3+中的本地时间:

>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).astimezone().isoformat()
'2015-01-27T06:59:17.125448+01:00'

解释:datetime.now(timezone.utc)在UTC时间产生一个时区感知datetime对象。astimezone()然后将datetime对象的时区更改为系统的区域设置时区(如果在没有参数的情况下调用)。然后,时区感知datetime对象会自动生成正确的ISO格式。

这篇关于如何获取当前包含默认时区的等格式日期时间字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆