欢迎访问宙启技术站
智能推送

使用Python函数库处理日期时间相关操作

发布时间:2023-08-28 10:21:00

Python提供了多个函数库来处理日期和时间的操作,包括datetime、time、calendar等。本文主要介绍datetime函数库的使用。

datetime库是Python内建的一个常用模块,提供了用于处理日期和时间的类和函数。首先,我们需要导入datetime库。

import datetime

## 获取当前日期和时间

使用datetime.datetime.now()函数可以获得当前日期和时间的datetime对象。

now = datetime.datetime.now()
print(now)

输出结果示例:2021-10-18 15:30:00.453367

## 获取日期和时间的各个部分

可以使用datetime对象的属性来获取日期和时间的各个部分,如年、月、日、小时、分钟、秒等。

year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second
print(year, month, day, hour, minute, second)

输出结果示例:2021 10 18 15 30 0

## 构造日期和时间对象

我们可以使用datetime库提供的函数构造指定日期和时间的datetime对象。

date_obj = datetime.datetime(2021, 10, 1)
print(date_obj)

time_obj = datetime.datetime(2021, 1, 1, 12, 30, 0)
print(time_obj)

输出结果示例:2021-10-01 00:00:00

2021-01-01 12:30:00

## 日期和时间的加减运算

我们可以使用datetime库提供的函数对日期和时间进行加减运算。

next_month = now + datetime.timedelta(days=30)
print(next_month)

prev_hour = now - datetime.timedelta(hours=1)
print(prev_hour)

输出结果示例:2021-11-17 15:30:00.453367

2021-10-18 14:30:00.453367

## 格式化日期和时间

在输出日期和时间时,我们可以使用strftime函数将datetime对象格式化成指定的字符串。

formatted_date = now.strftime("%Y-%m-%d")
print(formatted_date)

formatted_time = now.strftime("%H:%M:%S")
print(formatted_time)

formatted_datetime = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_datetime)

输出结果示例:2021-10-18

15:30:00

2021-10-18 15:30:00

## 解析字符串为日期时间对象

可以使用strptime函数将字符串解析为日期时间对象。

date_str = "2021-10-01"
parsed_date = datetime.datetime.strptime(date_str, "%Y-%m-%d")
print(parsed_date)

time_str = "12:30:00"
parsed_time = datetime.datetime.strptime(time_str, "%H:%M:%S")
print(parsed_time)

datetime_str = "2021-10-01 12:30:00"
parsed_datetime = datetime.datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S")
print(parsed_datetime)

输出结果示例:2021-10-01 00:00:00

1900-01-01 12:30:00

2021-10-01 12:30:00

以上是datetime函数库的基本用法,通过这些功能可以方便地处理日期和时间相关的操作。除了datetime库,Python还提供了其他日期和时间处理的函数库,根据不同的需求选择合适的函数库进行使用。