它不会被解析,只打印出我正在尝试解析的相同ISO字符串:2/12/17 00:00:52
我可能做错了什么?提前谢谢你,一定会投票并接受答案
答案 0 :(得分:1)
这是因为datetime
变量的表示(dateutil.parser.parse
,btw的结果)is to print the ISO representation of the date.
但是,如果您存储变量而不是在解析后简单地打印它,则可以打印日期的每个部分:
date = dateutil.parser.parse("2017-02-16 22:11:05+00:00")
print(date.year)
2017
print(date.month)
2
print(date.day)
16
print(date.hour)
22
print(date.minute)
11
print(date.second)
5
干杯!
答案 1 :(得分:0)
你的意思是什么它没有解析......它确实然后你要求再将它打印出来然后把它变成一个字符串:
>>> import dateutil.parser
>>> date = dateutil.parser.parse("2017-02-16 22:11:05+00:00")
>>> repr(date)
'datetime.datetime(2017, 2, 16, 22, 11, 5, tzinfo=tzutc())'
>>> date.timetuple()
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=16, tm_hour=22,
tm_min=11, tm_sec=5, tm_wday=3, tm_yday=47, tm_isdst=0)
>>> str(date)
2017-02-16 22:11:05+00:00
答案 2 :(得分:0)
我会羞辱地插入我用于日期时间的库pendulum
。
import pendulum
parsed_time = pendulum.parse('2017-02-16 22:11:05+00:00')
parsed_time.to_formatted_date_string()
'Feb 16, 2017'
还有更多选项,使日期时间变得非常容易。
答案 3 :(得分:0)
如果您只想用年,月,日,小时,分钟和秒打印它,您可以这样做:
x=dateutil.parser.parse("2017-02-16 22:11:05+00:00")
print ("<%s>") % (x.strftime('%Y-%m-%d at %H:%M:%S'))
# Output <2017-02-16 at 22:11:05>