【发布时间】:2014-06-10 05:34:35
【问题描述】:
我有一个数据集,其中所有日期的格式如下:
2012-10-09T19:00:55Z
我希望能够对它们使用.weekday 之类的方法。如何在 Python 中将它们转换为正确的格式?
【问题讨论】:
标签: python date datetime-parsing rfc3339
我有一个数据集,其中所有日期的格式如下:
2012-10-09T19:00:55Z
我希望能够对它们使用.weekday 之类的方法。如何在 Python 中将它们转换为正确的格式?
【问题讨论】:
标签: python date datetime-parsing rfc3339
您可以使用dateutil.parser.parse(与python -m pip install python-dateutil一起安装)将字符串解析为日期时间对象。
dateutil.parser.parse 将尝试猜测您的字符串的格式,如果您事先知道确切的格式,那么您可以使用您提供格式字符串的datetime.strptime(请参阅 Brent Washburne 的回答)。
from dateutil.parser import parse
a = "2012-10-09T19:00:55Z"
b = parse(a)
print(b.weekday())
# 1 (equal to a Tuesday)
【讨论】:
dateutil.parser。这些是使 Python 变得很棒的小东西。 from somemodule import problemsolver && problemsolver.solvemyspecificproblem()
git clone http://example.com/module/problemsolver problemsolver && cd problemsolver && python problemsolver.py myspecificproblem
这里已经回答了这个问题:How do I translate a ISO 8601 datetime string into a Python datetime object?
d = datetime.datetime.strptime( "2012-10-09T19:00:55Z", "%Y-%m-%dT%H:%M:%SZ" )
d.weekday()
【讨论】:
"%Y-%m-%dT%H:%M:%SZ" 产生一个“天真的”日期时间。生成“感知”日期时间(即感知时区):"%Y-%m-%dT%H:%M:%S%z"