相关疑难解决方法(0)

如何用Python中的-0400时区字符串解析日期?

我有一个'2009/05/13 19:19:30 -0400'形式的日期字符串.对于尾随时区规范,似乎以前版本的Python可能支持strptime中的%z格式标记,但2.6.x似乎已经删除了它.

将此字符串解析为日期时间对象的正确方法是什么?

python timezone datetime

74
推荐指数
5
解决办法
6万
查看次数

Python - 将日期转换为ISO 8601

在Python中,我如何转换这样的字符串:

星期四,2010年12月16日12:14:05 +0000

符合ISO 8601格式,同时保留时区?

请注意,原始日期是字符串,输出也应该是字符串,不是datetime或类似的.

不过,我使用第三方库没有问题.

python datetime iso8601

47
推荐指数
2
解决办法
5万
查看次数

datetime:从时区名称的字符串转换不起作用

我有以下字符串"2017-03-30 08:25:00CET",我想将其转换为日期时间tz感知对象.

根据这个问题,从python 3.2可以只使用datetime模块完成.另外,从文档中我看到了

%z |  UTC offset in the form +HHMM or -HHMM (empty string if the object is naive). |  (empty), +0000, -0400, +1030
%Z |  Time zone name (empty string if the object is naive).                        |  (empty), UTC, EST, CST
Run Code Online (Sandbox Code Playgroud)

所以我尝试以下方法

datetime.strptime(dep_dt, '%Y-%m-%d %H:%M:%S%Z')
Run Code Online (Sandbox Code Playgroud)

我没有得到任何错误,但是我得到的对象不是tz意识到的

datetime.datetime(2017, 3, 30, 8, 25)
Run Code Online (Sandbox Code Playgroud)

另一方面,如果我将我的字符串转换为"2017-03-30 08:25:00+0200"然后将其转换为对象

datetime.strptime(dep_dt, '%Y-%m-%d %H:%M:%S%z')

我确实得到了一个tz感知的日期时间:

datetime.datetime(2017, 3, 30, 8, 25, tzinfo=datetime.timezone(datetime.timedelta(0, 7200)))
Run Code Online (Sandbox Code Playgroud)

任何想法为什么它适用%z但不与%Z …

python timezone python-3.x python-datetime

8
推荐指数
1
解决办法
2981
查看次数

带时区的默认日期时间字符串格式

我正在使用默认的python日期时间字符串格式和JSON Web服务.

然后,我试图将它与实际的日期时间进行比较.我也在使用时区pytz.utc.

这是我的字符串日期:

print date
2013-02-26 21:28:37.261134+01:00
Run Code Online (Sandbox Code Playgroud)

尝试将我的字符串转换为日期时间(使用时区编辑pytz):

if datetime.strptime(date, '%Y-%m-%d %H:%M:%S.%f+%Z') < datetime.now(pytz.utc):
Run Code Online (Sandbox Code Playgroud)

不幸的是,它不起作用.

ValueError: time data '2013-02-26 21:28:37.261134+01:00' does not match format '%Y-%m-%d %H:%M:%S.%f%Z'
Run Code Online (Sandbox Code Playgroud)

谁能告诉我strptime格式的正确语法,使用我的约会?

python datetime date

6
推荐指数
1
解决办法
1万
查看次数

Python 2.7如何使用格式解析日期2014-05-01 18:10:3​​8-04:00

我正在尝试解析这个日期时间字符串,但还没有成功,我怎么能得到它?

d = '2014-05-01 18:10:38-04:00'
datetime.datetime.strptime(d,'%Y-%m-%d %H:%M:%S-%Z')

ValueError: time data '2014-05-01 18:10:38-04:00' does not match format '%Y-%m-%d %H:%M:%S%Z'
Run Code Online (Sandbox Code Playgroud)

python python-2.7

6
推荐指数
1
解决办法
463
查看次数