Spe*_*her 98 python date rfc3339 datetime-parsing
我有一个数据集,其中所有日期都具有以下格式:
2012-10-09T19:00:55Z
Run Code Online (Sandbox Code Playgroud)
我希望能够使用像.weekday
他们这样的方法.如何在Python中将它们转换为正确的格式?
Ffi*_*ydd 167
您可以使用dateutil.parser.parse
将字符串解析为datetime对象.
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)
Run Code Online (Sandbox Code Playgroud)
Bre*_*rne 89
这里已经回答了这个问题:如何将ISO 8601日期时间字符串转换为Python日期时间对象?
d = datetime.datetime.strptime( "2012-10-09T19:00:55Z", "%Y-%m-%dT%H:%M:%SZ" )
d.weekday()
Run Code Online (Sandbox Code Playgroud)
bru*_*ton 10
你应该看看moment
哪个是优秀的js lib的python端口momentjs
.
它的一个优点是支持ISO 8601
字符串格式,以及通用的"%格式":
import moment
time_string='2012-10-09T19:00:55Z'
m = moment.date(time_string, '%Y-%m-%dT%H:%M:%SZ')
print m.format('YYYY-M-D H:M')
print m.weekday
Run Code Online (Sandbox Code Playgroud)
结果:
2012-10-09 19:10
2
Run Code Online (Sandbox Code Playgroud)