将python中的字符串转换为日期格式

时间:2018-04-19 22:48:59

标签: python datetime

我在将字符串转换为数据格式时遇到问题。我正在使用时间模块将字符串转换为YYYY-MM-DD格式。下面的代码是我尝试过但我收到以下错误。

sre_constants.error: redefinition of group name 'Y' as group 5; was group 3

这是代码

import time 

review_date = "April 18, 2018"
review_date = time.strptime(review_date, '%m %d %Y %I:%Y%m%d')

4 个答案:

答案 0 :(得分:1)

首先,错误是因为您在%Y电话中两次使用%m%dtime.strptime()

其次,您使用的是错误的格式。传递给strptime()的格式必须与您传递的日期/时间字符串的格式相匹配,在本例中为%B %d, %Y

This是对不同格式类型的一个很好的参考。

答案 1 :(得分:1)

我通常使用datetime

from datetime import datetime
review_date = "April 18, 2018"
review_date = datetime.strptime(review_date, '%B %d, %Y').strftime('%Y-%m-%d')

此代码返回review_date ='2018-04-18'。见https://docs.python.org/3/library/datetime.html April的日期格式为%Bstrptime()转换为日期时间对象,.strftime()将datetime对象转换为字符串。

答案 2 :(得分:0)

review_date = time.strptime(review_date, '%B %d, %Y')

答案 3 :(得分:0)

time.strptime()用于解析字符串到日期/时间结构。它需要两个参数,即要解析的字符串和另一个描述要解析的字符串格式的字符串。

试试这个:

time.strptime("April 18, 2018", "%B %d, %Y")

...并注意“%B%d,%Y”是:

  1. 月份的完整区域设置名称(“四月”)
  2. [空间]
  3. 月份日期(18)
  4. [逗号]
  5. [空间]
  6. 四位数年份(2018年)
  7. 您提供的格式字符串规范与日期字符串的格式没有任何相似之处。

    这些“神奇”格式代码在time.strftime()

    的文档中列举