我需要转换以下日期:
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
我得到了我想要的格式,但它仍然没有被识别为日期。
我怎么能这样做?
答案 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')