如何将字符串转换为日期时间?

8

我有以下字符串:

'2017-08-15T13:34:35Z'

如何将该字符串转换为可调用 .isoformat() 的对象?
someobject = convert('2017-08-15T13:34:35Z')
someobject.isoformat()

如何实现convert()函数?

1
你可以使用 datetime.datetime.strptime 方法通过格式化字符串将字符串转换为日期时间。 - Kyle
2个回答

12

点击这里 以将字符串解析为日期时间,然后您就可以:

def convert(s):
    return datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')

someobject = convert('2017-08-15T13:34:35Z')
print(someobject.isoformat())

忽略时区是错误的。'Z' 是 UTC +0 的标准时区。尝试这样做:import pytz import datetime print(datetime.datetime.strptime('2020-02-03T14:33:22Z', '%Y-%m-%dT%H:%M:%SZ').replace(tzinfo=pytz.UTC)) - Eugene Gr. Philippov

6
您可以使用dateutilparser
>>> import dateutil.parser
>>> date = dateutil.parser.parse('2017-08-15T13:34:35Z', ignoretz=True)
>>> date
datetime.datetime(2017, 8, 15, 13, 34, 35)
>>> date.isoformat()
'2017-08-15T13:34:35'

忽略时区是错误的。'Z' 是 UTC +0 的标准时区。尝试这样做:import pytz import datetime print(datetime.datetime.strptime('2020-02-03T14:33:22Z', '%Y-%m-%dT%H:%M:%SZ').replace(tzinfo=pytz.UTC)) - Eugene Gr. Philippov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接