如何在Python中获取ISO 8601日期字符串格式?


ISO 8601标准定义了一种国际通用的日期和时间表示格式。ISO 8601是一种日期和时间格式,有助于消除世界各地不同形式的日期、日期和时间约定。为了解决各种格式的不确定性,ISO设置了一种表示日期的格式“YYYY-MM-DD”。

例如,2022年5月31日表示为2022-05-31。

在这篇文章中,我们将讨论如何在python中获取ISO 8601日期字符串格式。

使用 .isoformat() 方法

.isoformat() 方法返回python datetime.date 对象 的日期和时间值的ISO 8601格式字符串。

语法

.isoformat() 方法的语法如下所示。

date.isoformat(sep=’T’,timespec=’auto’)

其中:

  • sep(可选参数) - 它是日期和时间字段之间要打印的分隔符字符。

  • timespec(可选参数) - 它是timespec的格式说明符。默认值为auto。

在这个方法中,我们使用datetime.now()方法获取当前的datetime字符串,该方法以时间格式返回当前日期和时间。然后,使用.isoformat()方法将此字符串转换为ISO格式。

示例

在这个示例代码中,我们使用.isoformat()方法获取ISO 8601日期字符串格式。

from datetime import datetime current_date = datetime.now() print(current_date.isoformat())

输出

以上代码的输出如下所示。

2022-05-31T10:29:01.226141

使用 .strftime() 方法

python的datetime模块提供了strftime() 方法。在这里,我们使用strftime()方法将datetime字符串转换为datetime。它还用于将datetime转换为纪元时间。

纪元时间是时间的起点,并且取决于平台。在Windows和大多数Unix系统上,纪元时间是1970年1月1日00:00:00(UTC),并且自纪元时间以来的秒数中不包含闰秒。我们使用time.gmtime(0)来获取给定平台上的纪元时间。

语法

strftime()的语法如下所示。

date.strftime(format)

其中,format用于指定所需的输出格式。

在这个方法中,我们使用datetime.now()方法从本地CPU获取当前日期和时间。此字符串通过使用.strftime()方法转换为ISO格式字符串。由于我们知道ISO格式是YYYY-MM-DD,因此我们使用以下格式代码将其转换为这种格式:“%Y-%m-%dT%H:%M:%S.%f%z”。

示例

以下是一个示例代码,用于使用.strftime()方法将日期转换为ISO日期字符串格式。

from datetime import datetime current_date = datetime.now() print(current_date.strftime('%Y-%m-%dT%H:%M:%S.%f%z'))

输出

以上代码的输出如下所示。

2022-09-05T10:35:08.217174

更新于: 2023年8月23日

58K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.