如何将字符串转换为日期时间? [复制]

Posted

技术标签:

【中文标题】如何将字符串转换为日期时间? [复制]【英文标题】:How to convert string to datetime? [duplicate] 【发布时间】:2018-03-24 18:18:28 【问题描述】:

我有以下字符串:

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

如何将此字符串转换为我可以调用.isoformat() 的对象?

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

convert()如何实现?

【问题讨论】:

您可以使用datetime.datetime.strptime方法通过格式字符串将字符串转换为日期时间。 【参考方案1】:

Here 将字符串解析为日期时间,则可以:

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 pytzimport datetimeprint(datetime.datetime.strptime('2020-02-03T14:33:22Z', '%Y-%m-%dT%H:%M:%SZ').replace(tzinfo=pytz.UTC))【参考方案2】:

你可以使用dateutil的parser:

>>> 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 pytzimport datetimeprint(datetime.datetime.strptime('2020-02-03T14:33:22Z', '%Y-%m-%dT%H:%M:%SZ').replace(tzinfo=pytz.UTC))

以上是关于如何将字符串转换为日期时间? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符串日期转换为不同的字符串日期? [复制]

如何在python中将字符串日期转换为日期时间格式? [复制]

如何将日期(“Ymd”)的输出转换为 PHP 中的数字? [复制]

将字符串转换为日期,几乎完成了! [复制]

如何在 C# 中将日期字符串转换为 DateTime 对象? [复制]

如何将字符串时间戳更改为人类可读的日期格式? [复制]