日期和时间
Python 提供了time
和datetime
模块来处理日期和时间,提供了calendar
模块来处理日历。
time 模块
time
模块提供了时间相关的函数,包括获取当前时间、日期、时间戳等。
time()
:返回当前时间戳(从1970年1月1日00:00:00 UTC+00:00时区算起的秒数)。localtime(secs)
:将时间戳转换为本地时间元组。gmtime(secs)
:将时间戳转换为UTC(世界标准时间)时间元组。asctime(tup)
:将时间元组转换为可读形式的字符串。strftime(format, tup)
:根据格式字符串格式化时间元组。mktime(tup)
:将时间元组转换为时间戳。
import time
# 获取当前时间戳
timestamp = time.time()
print(timestamp)
# 将时间戳转换为本地时间元组
local_time = time.localtime(timestamp)
print(local_time)
# 将时间戳转换为UTC时间元组
utc_time = time.gmtime(timestamp)
print(utc_time)
# 将时间元组转换为可读形式的字符串
local_time_str = time.asctime(local_time)
print(local_time_str)
# 根据格式字符串格式化时间元组
format_str = "%Y-%m-%d %H:%M:%S"
format_time_str = time.strftime(format_str, local_time)
print(format_time_str)
# 将时间元组转换为时间戳
timestamp = time.mktime(local_time)
print(timestamp)
datetime 模块
datetime
模块提供了日期相关的类,包括date
、time
、datetime
、timedelta
等。
date(year, month, day)
:创建日期对象。time(hour, minute, second, microsecond)
:创建时间对象。datetime(year, month, day, hour, minute, second, microsecond)
:创建日期时间对象。timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
:创建时间差对象。
import datetime
# 创建日期对象
today = datetime.date.today()
print(today)
# 创建时间对象
t = datetime.time(10, 30, 0)
print(t)
# 创建日期时间对象
dt = datetime.datetime(2024, 10, 1, 10, 30, 0)
print(dt)
# 创建时间差对象
delta = datetime.timedelta(days=1, hours=2, minutes=30)
print(delta)
# 日期加减
print(today + delta)
print(today - delta)
# 日期比较
print(today > today - delta)
print(today < today + delta)
# 日期格式化
format_str = "%Y-%m-%d %H:%M:%S"
print(dt.strftime(format_str))
# 日期时间转换为时间戳
timestamp = dt.timestamp()
print(timestamp)
calendar 模块
calendar
模块提供了处理日历的函数。
calendar.calendar(year)
:打印指定年份的日历。calendar.monthcalendar(year, month)
:打印指定年份、月份的日历。calendar.month_name[month]
:获取指定月份的名称。calendar.weekheader(n)
:获取星期缩写,n
表示星期几的缩写长度。calendar.isleap(year)
:判断是否为闰年。calendar.leapdays(y1, y2)
:返回两个年份之间的闰年总数。
import calendar
# 打印当前年份的日历
cal = calendar.calendar(2024)
print(cal)
cal = calendar.monthcalendar(2024, 7)
print(calendar.month_name[7]) # 打印月份名称
print(calendar.weekheader(3)) # 打印星期缩写
for week in cal:
print(week)
print(calendar.isleap(2024)) # 判断是否为闰年