我有三种独特的日期格式,如下所示
date1 = "2018-05-31 14:34:42+00:00"
date2 = "2018-05-21T14:49:52.833"
date3 = "2018-06-01 00:00:00"
如何使用python将这三个日期转换为单日期格式("%Y-%m-%d %H:%M:%S"
)?
尝试了下面的代码,但我得到的是ValueError
和TypeError
from dateutil.parser import parse
def parse_date(request_date):
request_date = parse(request_date)
parsed_date = request_date.strftime("%Y-%m-%d %H:%M:%S")
return parsed_date
答案 0 :(得分:0)
必定会出现其他问题,您必须详细说明您的代码/例外情况。
>>> from dateutil.parser import parse
>>> date1 = "2018-05-31 14:34:42+00:00"
>>> date2 = "2018-05-21T14:49:52.833"
>>> date3 = "2018-06-01 00:00:00"
>>> print( parse(date1).strftime("%Y-%m-%d %H:%M:%S"))
2018-05-31 14:34:42
>>> print( parse(date2).strftime("%Y-%m-%d %H:%M:%S"))
2018-05-21 14:49:52
>>> print( parse(date3).strftime("%Y-%m-%d %H:%M:%S"))
2018-06-01 00:00:00
答案 1 :(得分:0)
你在哪里得到一个例外,因为我已经尝试了这个并且它有效:
date1 = "2018-05-31 14:34:42+00:00"
date2 = "2018-05-21T14:49:52.833"
date3 = "2018-06-01 00:00:00"
requestedDates = date1,date2,date3
from dateutil.parser import parse
def parse_date(request_date):
request_date = parse(request_date)
parsed_date = request_date.strftime("%Y-%m-%d %H:%M:%S")
return parsed_date
for i in requestedDates:
print(parse_date(i))
Output:
2018-05-31 14:34:42
2018-05-21 14:49:52
2018-06-01 00:00:00
我用作日期的字符串是字符串,您确定您为该函数提供的值是字符串吗? (您可以检查它们是否属于类型(date1)函数)
答案 2 :(得分:-1)
尝试这个怎么样
from datetime import datetime as dt
>>> date_str='12/20/2014 15:25:05 pm'
>>> date_obj = dt.strptime(date_str, '%m/%d/%Y %H:%M:%S %p')
>>> dt.strftime(date_obj, '%m/%d/%Y %I:%M:%S %p')
'12/20/2014 03:25:05 PM'