Python Datetime.date类的fromisoformat()函数

Python Datetime.date类的fromisoformat()函数

Python中的Datetime.date类提供了一种方便的方法来表示和操作日期。 fromisoformat()方法允许您从ISO布局的字符串中创建日期对象。

fromisoformat()函数将解析ISO 8601格式的字符串,并创建表示该日期的日期对象。这在许多场景中非常有用,包括当您需要从日志文件中解析日期时或在使用提供ISO 8601格式日期的API时。

语法

datetime.date.fromisoformat(date_string)

参数date_string是一个字符串,表示以ISO格式”YYYY-MM-DD”表示的日期。

示例1

我们将使用fromisoformat()方法从字符串中创建一个日期对象。

步骤

  • 加载datetime模块。

  • 初始化一个包含ISO日期布局的字符串变量。

  • 使用fromisoformat()函数将字符串转换为日期对象。

  • 打印日期对象。

from datetime import date
# date passed as string data type
date_string = "2023-03-31"

# Converts string object to a date object
date_obj = date.fromisoformat(date_string)

print(date_obj)

输出

2023-03-31

当调用fromisoformat()函数时,ISO格式的字符串作为参数传递给函数,且严格遵循格式’YYYY-MM-DD’。字符串被解析,日期组件被提取,按年、月和日进行分类。同样,时间也可以按小时、分钟和秒钟提取。如果解析的字符串严格遵循ISO 8601格式,则返回一个等效的datetime对象。

如果遵循的格式不符合ISO格式,则引发ValueError异常 。这表明月、日和年没有正确按照顺序排列,或超出了预期的范围。

示例2

以下示例 将存储在列表中的多个字符串对象(日期)转换为日期对象

步骤

  • 导入datetime模块

  • 定义一个包含多个字符串ISO格式的列表变量

  • 创建一个空列表来保存日期对象

  • 循环遍历列表中的每个字符串,并使用fromisoformat()函数将其转换为日期对象

  • 将日期对象追加到列表中

  • 向用户打印列表

import datetime

date_strs = ['2022-01-01', '2022-01-02', '2022-01-03']
date_objs = []

for date_str in date_strs:
   date_objs.append(datetime.date.fromisoformat(date_str))

print(date_objs)

输出

[datetime.date(2022, 1, 1), datetime.date(2022, 1, 2), datetime.date(2022, 1, 3)]

示例3

以下是示例,将当前日期和现在的时间存储在一个字符串中,转换为日期对象。

步骤

  • 导入datetime和time模块

  • 使用date.today()将今天的日期作为字符串获取

  • 以ISO格式字符串打印今天的日期

  • 使用date.fromisoformat()函数将今天转换为日期对象

  • 将日期对象打印给用户

from datetime import date
today= str(date.today());
print("Today's Date as string: %s" %today)
mydate = date.fromisoformat(today);
print(mydate);

输出

Today's Date as string: 2023-05-20
2023-05-20

结论

使用这个函数可以方便且强大地将包含ISO格式日期的字符串转换为可用于类似操作的日期项。

通过使用fromisoformat()功能,可以避免手动解析ISO格式的字符串可能出现的错误。此外,该函数还确保生成的日期对象有效并符合ISO要求。

此外,Python的datetime模块具有fromisoformat()功能,并提供大量用于处理日期和时间的实用工具。该模块允许我们对日期进行格式化、在不同的时区之间进行转换,并执行各种日期和时间计算。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程