📜  PythonDatetime.date类的fromisoformat()函数(1)

📅  最后修改于: 2023-12-03 15:34:14.712000             🧑  作者: Mango

Python Datetime.date类的fromisoformat()函数

在Python中使用datetime库操作日期和时间非常方便。其中date类用于表示日期。fromisoformat()函数是date类中的一个方法,用于将ISO格式的日期字符串转换为date对象。

函数形式
classmethod date.fromisoformat(date_string)

其中,date_string为ISO格式的日期字符串。

使用方法
from datetime import date

# 从ISO格式日期字符串创建date对象
d = date.fromisoformat('2021-12-31')
print(d)  # 2021-12-31

需要注意的是,fromisoformat()函数严格遵守ISO 8601标准,不允许出现时区信息和时分秒信息。

# Error: 该字符串包含时区信息
date.fromisoformat('2021-12-31T00:00:00+08:00')

# Error: 该字符串包含时分秒信息
date.fromisoformat('2021-12-31 00:00:00')

这时需要使用datetime.datetime.strptime()函数将字符串转换为日期。例如:

from datetime import datetime

# 从字符串创建datetime对象
dt = datetime.strptime('2021-12-31T00:00:00+08:00', '%Y-%m-%dT%H:%M:%S%z')
# 从datetime对象获取date对象
d = dt.date()
print(d)  # 2021-12-31
总结

date.fromisoformat()函数可以很方便地将ISO格式的日期字符串转换为date对象,但需要注意字符串符合ISO 8601标准。如果不符合标准,需要使用datetime.datetime.strptime()函数将字符串转换为datetime对象再获取date对象。