在Python中将字符串转换为日期格式

时间:2015-05-12 03:53:23

标签: python date

我需要转换以下日期:

Wed, 09 Jul 2014 12:22:17 +0000

目前存储为String。我编写了这段代码将其转换为我想要的日期格式(上面的String作为参数传递给covertDate函数):

def convertDate(dictValue):

    date_string = dictValue
    format_string = '%a, %d %b %Y %H:%M:%S %z'
    date_object = datetime.datetime.strptime(date_string, format_string)
    date_correct_form = date_object.strftime("%Y-%m-%d")
    print(type(date_correct_form))
    print(date_correct_form)

    return date_correct_form

输出如下:

<class 'str'>
2014-10-30

我得到了我想要的格式,但它仍然没有被识别为日期。

我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

您将返回date_correct_form,这是strftime

的结果
  

返回表示日期的字符串,由显式格式字符串控制。

(强调我的)

如果您需要datetime对象,请返回date_object。如果你需要两者,你可以同时返回:

return date_correct_form, date_object

您可以这样称呼它:

date_string, date_obj = convertDate(dictValue)

您现在已经在date_string中使用了已经格式化的字符串,如果您仍然需要针对datetime对象执行逻辑,那就是date_obj

答案 1 :(得分:1)

您可以使用easy_date轻松实现:

import date_converter
converted_date = date_converter.string_to_date(date_string, '%a, %d %b %Y %H:%M:%S %z')