Python 如何在Python中以字符串格式获取ISO 8601日期?
ISO 8601规定了一种国际公认的表示日期和时间的格式。ISO 8601是一种日期和时间格式,有助于消除世界各地不同形式的日期、日期和时间约定。为了解决各种格式的不确定性,ISO设置了一种表示日期“YYYY-MM-DD”的格式。
例如,2022年5月31日的表示方式为2022-05-31。
在本文中,我们讨论如何在Python中以字符串格式获取ISO 8601日期。
阅读更多:Python 教程
使用.isoformat()方法
.isoformat()方法返回Python datetime.date对象的日期和时间值的字符串,以ISO 8601格式表示。
语法
.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()方法将字符串日期时间转换为日期时间。它也用于将日期时间转换为时期。
Epoch是时间的起点,它依赖于平台。在Windows和大多数Unix系统上,epoch是UTC时间的1970年1月1日,00:00:00,忽略掉在自纪元以来的秒数中的闰秒。我们使用time.gmtime(0)在给定的平台上获取时期。
语法
strftime()的语法如下。
date.strftime(format)
其中, format 用于指定输出的所需格式。
在这种方法中,我们使用datetime.now()方法从本地计算机获取当前日期和时间。通过使用.strftime()方法,将此字符串转换为ISO格式字符串。这里,由于我们知道ISO格式是YYYY-MM-DD,因此我们通过使用以下格式代码将其转换为此格式 – “%Y-%m-%dT%H:%M:%S.%f%z”。
示例
以下是使用.strftime()方法以字符串格式显示ISO日期的示例代码。
from datetime import datetime
current_date = datetime.()
print(current_date.strftime('%Y-%m-%dT%H:%M:%S.%f%z'))
输出
上述代码的输出如下。
2022-09-05T10:35:08.217174
极客教程