linux 时区 -0400,关于datetime:如何用Python中的-0400时区字符串解析日期?

本文介绍了如何在Python中处理带有'-0400'时区信息的日期字符串。通过使用`dateutil.parser.parse`或在Python 3.2+中使用`datetime.strptime`的'%z'格式化标记,可以将该日期字符串转化为datetime对象。对于Python 2.6及更低版本,可以使用自定义方法处理时区。
摘要由CSDN通过智能技术生成

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

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

您可以使用dateutil中的解析函数:

>>> from dateutil.parser import parse

>>> d = parse('2009/05/13 19:19:30 -0400')

>>> d

datetime.datetime(2009, 5, 13, 19, 19, 30, tzinfo=tzoffset(None, -14400))

这样您就可以获得可以使用的日期时间对象。

正如所回答的那样,dateutil2.0是为Python 3.0编写的,不适用于Python 2.x.对于Python 2.x,需要使用dateutil1.5。

这在Python 2.6上的dateutil版本2.0中不起作用

这对我来说很好(dateutil 2.1),Python 2.7.2; Python 3不是必需的。请注意,如果从pip进行安装,则包名称为python-dateutil。

Python 3.2+支持%z:

>>> from datetime import datetime

>>> datetime.strptime('2009/05/13 19:19:30 -0400', '%Y/%m/%d %H:%M:%S %z')

datetime.datetime(2009, 5, 13, 19, 19, 30,

tzinfo=datetime.timezone(datetime.timedelta(-1, 72000)))

在早期版本:

from datetime import datetime

date_str = '2009/05/13 19:19:30 -0400'

naive_date_str, _, offset_str = date_str.rpartition(' ')

naive_dt = datetime.strptime(naive_date_str, '%Y/%m/%d %H:%M:%S')

o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值