pythondatetime库日期不同格式转换_6 个 Python 的日期时间库

曾几何时,我们中的一个人(Lacey)盯了一个多小时的 Python 文档[2]中描述日期和时间格式化字符串的表格。当我试图编写从 API 中将日期时间字符串转换为 Python datetime[3] 对象时,我很难理解其中的特定部分,因此我决定请求帮助。

有人问道:“为什么你不使用 dateutil 呢?”

读者,如果你没有从这个月的 Python 专栏中获得任何东西,只是学习到有比 datetime 的 strptime 更容易地将 datetime 字符串转换为 datetime 对象的方法,那么我们觉得就已经成功了。

但是,除了将字符串转换为更有用的 Python 对象之外,还有许多库都有一些有用的方法和工具,可以让您更轻松地进行时间测试、将时间转换为不同的时区、以人类可读的格式传递时间信息,等等。如果这是你在 Python 中第一次接触日期和时间,请暂停并阅读 如何使用 Python的日期和时间[3] 。要理解为什么在编程中处理日期和时间是困难的,请阅读 愚蠢的程序员相信时间[4]。

这篇文章将会向你介绍以下库:

◈ Dateutil[5]

◈ Arrow[6]

◈ Moment[7]

◈ Maya[8]

◈ Delorean[9]

◈ Freezegun[10]

随意跳过那些你已经熟悉的库,专注于那些对你而言是新的库。

内建的 datetime 模块

在跳转到其他库之前,让我们回顾一下如何使用 datetime 模块将日期字符串转换为 Python datetime 对象。

假设我们从 API 接受到一个日期字符串,并且需要它作为 Python datetime 对象存在:

2018-04-29T17:45:25Z

这个字符串包括:

◈ 日期是 YYYY-MM-DD 格式的

◈ 字母 T 表示时间即将到来

◈ 时间是 HH:II:SS 格式的

◈ 表示此时间的时区指示符 Z 采用 UTC (详细了解日期时间字符格式[11])

要使用 datetime 模块将此字符串转换为 Python datetime 对象,你应该从 strptime 开始。 datetime.strptime 接受日期字符串和格式化字符并返回一个 Python datetime 对象。

我们必须手动将日期时间字符串的每个部分转换为 Python 的 datetime.strptime 可以理解的合适的格式化字符串。四位数年份由 %Y 表示,两位数月份是 %m,两位数的日期是 %d。在 24 小时制中,小时是 %H,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值