Python字符串转换为日期

2024-07-04 07:28:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我是following以下关于如何在python中将字符串转换为date对象的指南,但是我遇到了一个我不太理解的错误。在

我正努力做到以下几点:

buildDateArray.append(dt.strptime(date,"%y-%b-%d %H:%M:%S"))

但我得到了如下错误:

^{pr2}$

我不明白为什么'2014-11-17 00:00:00'与格式不匹配'%y-%b-%d%H:%M:%S'

你能看到错误是什么吗?在


Tags: 对象字符串date格式错误dt指南中将
2条回答

您的格式有两个问题:

  • %y匹配一个两位数的年,但是您的年份包含4。使用%Y(大写Y)代替。

  • %b匹配一个名为月份的缩写;使用%m来匹配数字月份;您需要在这里匹配11,而不是Nov

演示:

>>> from datetime import datetime
>>> datetime.strptime('2014-11-17 00:00:00', '%Y-%m-%d %H:%M:%S')
datetime.datetime(2014, 11, 17, 0, 0)

当你面对这样的问题时,试着把它缩小到组件上;例如,你可以尝试只是年份部分,它仍然会失败,但是不同的错误会给你一个很大的提示,说明它为什么会失败:

^{pr2}$

{{a2找到了一个匹配的}文档},因为你需要使用^ a1的细节来纠正它。在

你的格式有两个问题

  • 使用大写Y来匹配四位数的年份,而不是小写的y(它只匹配两位数字)
  • 使用%m代替%b匹配数字月份而不是缩写月份(即11vsNov

最终格式为:

"%Y-%m-%d %H:%M:%S"

相关问题 更多 >

    热门问题