Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.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
Python日期/时间格式_Python_String_Datetime_Utc - Fatal编程技术网

Python日期/时间格式

Python日期/时间格式,python,string,datetime,utc,Python,String,Datetime,Utc,我使用的API返回一个JSON字符串,其中包含以下日期/时间: 2013-03-14T14:15:23-07:00 我知道日期和时间,一直到第二天。但最后5个字符让我很困惑。我猜这是UTC偏移量。(山地时间)我不知道如何将上面的字符串与python中的日期/时间进行比较。T也把我甩了 如何对python日期/时间字符串进行编码以匹配上述内容 如果使用python dateutil库(),则可以将该值转换为datetime >>> dateutil.parser.parse('

我使用的API返回一个JSON字符串,其中包含以下日期/时间:

2013-03-14T14:15:23-07:00
我知道日期和时间,一直到第二天。但最后5个字符让我很困惑。我猜这是UTC偏移量。(山地时间)我不知道如何将上面的字符串与python中的日期/时间进行比较。T也把我甩了


如何对python日期/时间字符串进行编码以匹配上述内容

如果使用
python dateutil
库(),则可以将该值转换为
datetime

>>> dateutil.parser.parse('2013-03-14T14:15:23-07:00')
datetime.datetime(2013, 3, 14, 14, 15, 23, tzinfo=tzoffset(None, -25200))
您正在查看日期格式。你可以使用一个或自己做

您可以使用datetime.strTime来分析:

>>> ts='2013-03-14T14:15:23-07:00'
>>> datetime.datetime.strptime(ts[0:-6],'%Y-%m-%dT%H:%M:%S')
datetime.datetime(2013, 3, 14, 14, 15, 23)
然后只需添加/减去时间增量(对于“天真”对象):

因此:


棘手的部分是TZ是可选的,无论您是在date对象中添加/减去时间偏移还是设置时区

你看起来棒极了!这正是我需要的。我现在唯一想做的就是尝试以偏移量感知的格式获取当前日期时间,以便比较两者。我仍在试图了解Python如何处理日期/时间。您应该能够在datetime上使用
.replace(tzinfo=…)
。给它一个时区会让它意识到,
None
会让它幼稚。
>>> datetime.timedelta(hours=int(ts[-6:-3]))
datetime.timedelta(-1, 61200)
>>> d=datetime.datetime.strptime(ts[0:-6],'%Y-%m-%dT%H:%M:%S')+datetime.timedelta(hours=int(ts[-6:-3]))
>>> d
datetime.datetime(2013, 3, 14, 7, 15, 23)