返回与Date_String对应的日期时间,按格式解析。这相当于datetime(*(time.strptime(date_string, format)[0:6])).
看到了[0:6]?这会让你(year, month, day, hour, minute, second)..没别的了。没有提到时区。
有趣的是,[Win XP SP2,Python2.6,2.7]将您的示例传递给time.strptime不工作,但如果你去掉“%Z”和“EST”,它确实有效。也使用“UTC”或“GMT”代替“EST”工作。“PST”和“mez”不起作用。令人费解。
值得注意的是,在3.2版时已经更新了这一版本,现在相同的文档还声明了以下内容:当向strptime()方法提供%z指令时,将产生一个感知的datetime对象。结果的tzinfo将被设置为一个时区实例。
注意,这不适用于%Z,所以情况很重要。请参见以下示例:
In [1]: from datetime import datetime
In [2]: start_time = datetime.strptime('2018-04-18-17-04-30-AEST','%Y-%m-%d-%H-%M-%S-%Z')
In [3]: print("TZ NAME: {tz}".format(tz=start_time.tzname()))
TZ NAME: None
In [4]: start_time = datetime.strptime('2018-04-18-17-04-30-+1000','%Y-%m-%d-%H-%M-%S-%z')
In [5]: print("TZ NAME: {tz}".format(tz=start_time.tzname()))
TZ NAME: UTC+10:00