Python 如何以字符串格式获取ISO 8601日期

Python 如何以字符串格式获取ISO 8601日期

ISO 8601标准定义了一种普遍认可的日期和时间表示格式。ISO 8601是一种日期和时间格式,有助于消除世界各地的不同日期、日期和时间惯例的形式。为了解决各种格式的不确定性,ISO规定了一种表示日期的格式”YYYY-MM-DD”。

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

本文将讨论如何在Python中以字符串格式获取ISO 8601日期。

使用.isoformat()方法

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

语法

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

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

其中,

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

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

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

示例

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

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

输出

以上代码的输出如下:

2022-05-31T10:29:01.226141

使用.strftime()方法

strftime()方法由Python的datetime模块提供。在这里,我们使用strftime()方法将字符串格式的日期时间转换为日期时间类型。它也可以用于将日期时间类型转换为纪元。

纪元是时间的起点,且因平台而异。在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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程