如何解析 ISO 字符串?
How to parse ISO string?
它没有被解析,只是打印出我试图解析的相同 ISO 字符串:2/12/17 00:00:52
我做错了什么?提前谢谢你,一定会投票并接受答案
你是什么意思它没有解析...它解析了但是你要求再次打印出来它把它变回一个字符串:
>>> 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
发生这种情况是因为 datetime
变量的表示(即 dateutil.parser.parse
的结果)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
干杯!
我将可耻地插入我用于日期时间的库,pendulum
。
import pendulum
parsed_time = pendulum.parse('2017-02-16 22:11:05+00:00')
parsed_time.to_formatted_date_string()
'Feb 16, 2017'
还有更多选项,让处理日期时间变得超级简单。
如果只想打印年、月、日、时、分、秒,可以这样做:
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>
它没有被解析,只是打印出我试图解析的相同 ISO 字符串:2/12/17 00:00:52
我做错了什么?提前谢谢你,一定会投票并接受答案
你是什么意思它没有解析...它解析了但是你要求再次打印出来它把它变回一个字符串:
>>> 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
发生这种情况是因为 datetime
变量的表示(即 dateutil.parser.parse
的结果)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
干杯!
我将可耻地插入我用于日期时间的库,pendulum
。
import pendulum
parsed_time = pendulum.parse('2017-02-16 22:11:05+00:00')
parsed_time.to_formatted_date_string()
'Feb 16, 2017'
还有更多选项,让处理日期时间变得超级简单。
如果只想打印年、月、日、时、分、秒,可以这样做:
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>