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

Python日期和时间函数:10个常用实例

发布时间:2023-06-13 19:09:06

Python是一种优秀的、解释性语言,拥有丰富的标准库。其中datetime模块就是Python对日期和时间操作提供的库之一。今天我们来看看Python日期和时间函数的常用实例。

1. 获取当前时间

可以使用datetime模块中的datetime类来获取当前时间,并使用strftime函数将其格式化输出。

import datetime

now = datetime.datetime.now()
print(f"当前时间:{now.strftime('%Y-%m-%d %H:%M:%S')}")

输出结果:

当前时间:2022-01-01 00:00:00

2. 计算指定日期

如果要计算指定日期,可以构造一个datetime对象,并使用timedelta函数在日期上进行加减。

import datetime

date = datetime.datetime(2020, 1, 1)
offset = datetime.timedelta(days=365)

new_date = date + offset

print(f"2020年1月1日加上一年:{new_date.strftime('%Y-%m-%d')}")

输出结果:

2020年1月1日加上一年:2021-01-01

3. 计算两个日期之间的天数

可以使用datetime模块中的date类来计算两个日期之间的天数。

import datetime

date1 = datetime.date(2020, 1, 1)
date2 = datetime.date(2022, 1, 1)

delta = date2 - date1

print(f"2020年1月1日到2022年1月1日相差{delta.days}天")

输出结果:

2020年1月1日到2022年1月1日相差731天

4. 格式化输出日期

可以使用strftime函数将datetime对象格式化输出。

import datetime

date = datetime.datetime(2022, 1, 1)

print(f"2022年1月1日的格式化输出:{date.strftime('%A, %B %d, %Y')}")

输出结果:

2022年1月1日的格式化输出:Saturday, January 01, 2022

5. 将字符串转换成日期

可以使用strptime函数将字符串按照指定格式转换成日期。

import datetime

time_str = "2022-01-01 00:00:00"
date = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")

print(f"将字符串{time_str}转换成日期:{date.strftime('%Y-%m-%d %H:%M:%S')}")

输出结果:

将字符串2022-01-01 00:00:00转换成日期:2022-01-01 00:00:00

6. 将日期转换成字符串

可以使用strftime函数将日期格式化成指定字符串。

import datetime

date = datetime.datetime(2022, 1, 1)

print(f"将日期{date}转换成字符串:{date.strftime('%Y%m%d%H%M%S')}")

输出结果:

将日期2022-01-01 00:00:00转换成字符串:20220101000000

7. 计算两个时间之间的差值

可以使用datetime模块中的datetime类来计算两个时间之间的差值。

import datetime

time1 = datetime.datetime(2020, 1, 1, 0, 0, 0)
time2 = datetime.datetime(2022, 1, 1, 0, 0, 0)

delta = time2 - time1

print(f"2020年1月1日到2022年1月1日相差{delta.days}天{delta.seconds // 3600}小时{delta.seconds % 3600 // 60}分钟{delta.seconds % 60}秒")

输出结果:

2020年1月1日到2022年1月1日相差731天0小时0分钟0秒

8. 获取当前日期

可以使用date类来获取当前日期,并使用strftime函数格式化输出。

import datetime

today = datetime.date.today()

print(f"当前日期:{today.strftime('%Y-%m-%d')}")

输出结果:

当前日期:2022-01-01

9. 获取本周的开始和结束日期

可以使用date类来获取本周的开始和结束日期。

import datetime

today = datetime.date.today()
start = today - datetime.timedelta(today.weekday())
end = start + datetime.timedelta(days=6)

print(f"本周的开始日期为{start.strftime('%Y-%m-%d')},结束日期为{end.strftime('%Y-%m-%d')}")

输出结果:

本周的开始日期为2021-12-27,结束日期为2022-01-02

10. 获取本月的开始和结束日期

可以使用date类来获取本月的开始和结束日期。

import datetime

today = datetime.date.today()
start = today.replace(day=1)
end = start.replace(month=start.month % 12 + 1) - datetime.timedelta(days=1)

print(f"本月的开始日期为{start.strftime('%Y-%m-%d')},结束日期为{end.strftime('%Y-%m-%d')}")

输出结果:

本月的开始日期为2022-01-01,结束日期为2022-01-31

总结

本文主要介绍了Python日期和时间函数的10个常用实例,分别是获取当前时间、计算指定日期、计算两个日期之间的天数、格式化输出日期、将字符串转换成日期、将日期转换成字符串、计算两个时间之间的差值、获取当前日期、获取本周的开始和结束日期以及获取本月的开始和结束日期。掌握这些常用实例,可以轻松地处理Python中的日期和时间问题。