Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 如何解析ISO字符串?_Datetime_Iso_Python Dateutil - Fatal编程技术网

Datetime 如何解析ISO字符串?

Datetime 如何解析ISO字符串?,datetime,iso,python-dateutil,Datetime,Iso,Python Dateutil,它不会被解析,只是打印出与我试图解析的相同的ISO字符串:2/12/17 00:00:52 我可能做错了什么?提前感谢您,我们一定会投票支持并接受答案,您认为它没有解析是什么意思。。。确实如此,但您要求再次打印它,它会将其返回为字符串: >>> import dateutil.parser >>> date = dateutil.parser.parse("2017-02-16 22:11:05+00:00") >>> repr(date)

它不会被解析,只是打印出与我试图解析的相同的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
的结果,顺便说一句)

但是,如果您存储变量而不是在解析后简单地打印它,则可以打印日期的每个单独部分:

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

干杯

我会丢脸地插入datetime使用的库,
钟摆

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>
x=dateutil.parser.parse(“2017-02-16 22:11:05+00:00”)
打印(“”%(x.strftime(“%Y-%m-%d,在%H:%m:%S”))
#输出

非常感谢您!