Python日期和时间函数:10个常用实例
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中的日期和时间问题。
