首页 > 解决方案 > 无法将带时区的日期转换为自定义日期

问题描述

我正在尝试将日期从 转换2016-04-30T00:00:00Z2016-04-30。我从前两个中获得了成功。但是,如果是最后一个,我得到了ValueError: time data '2021-12-31T15:28:43.040Z' does not match format '%Y-%m-%dT%H:%M:%SZ'。我该如何解决?

我试过:

from datetime import datetime

date_list = [
    '2016-04-30T00:00:00Z',
    '2007-10-31T00:00:00Z',
    '2021-12-31T15:28:43.040Z'
]

for raw_date in date_list:
    _date = datetime.strptime(raw_date, '%Y-%m-%dT%H:%M:%SZ').strftime('%Y-%m-%d')
    print(_date)

标签: pythondatetime

解决方案


快速修复,我会这样做。

for raw_date in date_list:
    _date = datetime.strptime(raw_date.split('T')[0], '%Y-%m-%d').strftime('%Y-%m-%d')
    print(_date)

或者

for raw_date in date_list:
    _date = raw_date.split('T')[0]
    print(_date)

推荐阅读