繁体   English   中英

datetime.strptime无法转换

[英]datetime.strptime unable to convert

我正在尝试将日期列表(每个条目都是一个字符串)转换为datetime对象。

日期的格式如下:2018-09-10 24:11

我一直在使用的代码是:

dateTime = []


def makeDateTime(date):
    for entry in date[1:]:
        dateTime.append(datetime.strptime(entry, "%Y-%m-%d %H%M"))
    return dateTime

dt = makeDateTime(date)

我得到的错误是:

ValueError                                Traceback (most recent call last)
<ipython-input-91-5ac073b0f75a> in <module>()
----> 1 dt = datetime.strptime(date[1], "%Y-%m-%d %H%M")

~/anaconda3/lib/python3.6/_strptime.py in _strptime_datetime(cls, data_string, format)
    563     """Return a class cls instance based on the input string and the
    564     format string."""
--> 565     tt, fraction = _strptime(data_string, format)
    566     tzname, gmtoff = tt[-2:]
    567     args = tt[:6] + (fraction,)

~/anaconda3/lib/python3.6/_strptime.py in _strptime(data_string, format)
    363     if len(data_string) != found.end():
    364         raise ValueError("unconverted data remains: %s" %
--> 365                           data_string[found.end():])
    366 
    367     iso_year = year = None

ValueError: unconverted data remains: :14

即使我尝试在循环外转换一个条目,它似乎也不起作用。 任何想法如何解决这一问题?

如果您的日期看起来像'2018-09-10 00:11' ,则正确的格式字符串是"%Y-%m-%d %H:%M" ,并在小时和分钟之间加上:

>>> from datetime import datetime
>>> datetime.strptime('2018-09-10 00:11', '%Y-%m-%d %H:%M')
datetime.datetime(2018, 9, 10, 0, 11)

但是,您仍然无法使用此格式字符串解析'2018-09-10 24:11' 时间24:11不存在,应该是00:11。 我假设这只是您的错别字。

如果将分钟和小时进行了交换,则可以使用'%Y-%m-%d %M:%H' (但我现在在猜测)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM