Python日期函数大全详解
Python提供了丰富的日期和时间处理函数,可以方便地对日期和时间进行加减、格式化、比较等操作。本篇文章将详细介绍Python日期函数的使用方法,包括以下内容:
- 时间戳和时间元组
- 日期格式化
- 时间的加减
- 时间比较
时间戳和时间元组
在Python中,时间戳是指从1970年1月1日开始到现在经过的秒数。可以使用time
模块中的time()
函数获取当前的时间戳:
import time
print(time.time()) # 输出当前时间戳
输出结果如下:
1602056521.0262845
可以使用gmtime()
函数将时间戳转换为时间元组,时间元组包含了年、月、日、时、分、秒等时间信息。gmtime()
函数将会返回一个UTC时间元组,其结构为(年,月,日,小时,分钟,秒,星期,一年中的第几日,夏令时)
。
import time
timestamp = time.time() # 获取当前时间戳
struct_time = time.gmtime(timestamp) # 将时间戳转换为时间元组
print(struct_time.tm_year) # 输出UTC年份
print(struct_time.tm_hour) # 输出UTC小时
print(struct_time.tm_mday) # 输出UTC日期
输出结果如下:
2020
3
7
日期格式化
在Python中,可以使用strftime()
函数格式化日期字符串,具体的格式控制符可以参考Python手册,下面举例几种比较常用的格式化方式:
import time
struct_time = time.localtime() # 获取当前时间
# 将时间元组转换为格式化字符串
date_str = time.strftime('%Y-%m-%d %H:%M:%S', struct_time)
print(date_str)
# 使用中文格式化
date_str_cn = time.strftime('%Y年%m月%d日 %H:%M:%S', struct_time)
print(date_str_cn)
输出结果分别如下:
2020-10-07 16:14:01
2020年10月07日 16:14:01
时间的加减
在Python中,可以使用timedelta
函数对时间进行加减操作。timedelta
是时间的差,也就是时间间隔,可以通过给定的参数(天、小时、分钟、秒等)来创建timedelta
对象,例如:
from datetime import datetime, timedelta
# 获取当前时间
now = datetime.now()
# 计算1小时后的时间
after_one_hour = now + timedelta(hours=1)
print(after_one_hour)
# 计算2天后的时间
after_two_days = now + timedelta(days=2)
print(after_two_days)
输出结果如下:
2020-10-07 17:14:01.222135
2020-10-09 16:14:01.222135
时间比较
在Python中,可以使用datetime
模块中的datetime
函数来表示时间。不同的时间可以进行比较,例如:
from datetime import datetime
# 创建两个时间
now = datetime.now()
another_time = datetime(2020, 11, 11, 11, 11, 11, 111111)
# 比较时间
print(now > another_time)
print(now < another_time)
print(now == another_time)
输出结果如下:
False
True
False
而对于时间字符串的比较,则需要先将其转换为时间对象后再进行比较,例如:
from datetime import datetime
# 创建两个时间
str_time1 = '2020-11-11 11:11:11'
str_time2 = '2020-11-11 12:11:11'
# 将时间字符串转换为时间对象
time1 = datetime.strptime(str_time1, '%Y-%m-%d %H:%M:%S')
time2 = datetime.strptime(str_time2, '%Y-%m-%d %H:%M:%S')
# 比较时间
print(time1 > time2)
print(time1 < time2)
print(time1 == time2)
输出结果如下:
False
True
False
以上就是Python日期函数的详细介绍,可以根据需求选择不同的函数来完成日期和时间的相关操作。