操作日期时间Python



我想将字符串转换为日期时间,字符串解析如下:

Metatime = datetime.datetime.strptime(metadata.get("FileModifyDate"), "%y:%m:%d %H:%M:%S")

元数据的地方。Get返回如下内容:

2012:11:19 14:53:44-05:00

我有另一个想要比较的数据时间元素,所以格式应该是相同的。另一个datetime元素像这样:

(datetime.datetime(2014, 3, 26, 23, 22, 21)

我怎么能格式化的东西,能够做一个逻辑比较?

Python的标准datetime.strptime()方法不支持以hh:mm格式解析时区信息。有一个开放的特性请求。

同时,您可以使用以下方法:

>>> FileModifyDate = '2012:11:19 14:53:44-05:00'
>>> datetime.strptime(FileModifyDate.replace(':', ''), '%Y%m%d %H%M%S%z')
datetime.datetime(2012, 11, 19, 14, 53, 44, tzinfo=datetime.timezone(datetime.timedelta(-1, 68400)))
>>> print(_)
2012-11-19 14:53:44-05:00

请注意,您需要使用Python 3.3或更高版本才能正常工作。

现在,如果您想将结果与

进行比较
>>> another_date = datetime(2014, 3, 26, 23, 22, 21)

你需要知道那个日期所在的时区。如果是UTC - do

>>> file_date = datetime.strptime(FileModifyDate.replace(':', ''), '%Y%m%d %H%M%S%z')
>>> another_date.replace(tzinfo=timezone.utc) > file_date
True

如果它位于其他区域,则需要使用第三方库(如pytz)将其转换为感知实例,然后才能进行比较。

相关内容

  • 没有找到相关文章

最新更新