在Python中,datetime 模块提供了处理日期和时间的类和函数。主要的类包括 datetime、date、time、timedelta
date 类表示日期,只包含年、月、日的信息,不包含具体时间。
使用 date(year, month, day) 构造函数创建 date 对象。
# # 使用数字构造日期
# # date0 = date(year=2001, month=1, day=10)
# # 获取今天日期
# date0 = date.today()
#
# print(type(date0))
# # 取得日期中每一个部分
# print(date0.year, date0.month, date0.day, date0.weekday())
# # %y 两位年 %Y 四位年份 %m 两位月 %d两位日
# print(date0.strftime("%Y-%m-%d"))
time 类表示时间,包含时、分、秒和微秒。
使用 time(hour=0, minute=0, second=0, microsecond=0) 构造函数创建 time 对象
# 使用数字构造时间
time0 = time(hour=17, minute=1, second=30)
print(type(time0))
print(time0.hour, time0.minute, time0.second)
print(time0.strftime("%H:%M:%S"))
datetime 类是处理日期和时间的主要类,它包含了年、月、日、时、分、秒和微秒等信息。
创建 datetime 对象的一般方式是使用 datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0) 构造函数。
# 使用数字
datetime0 = datetime(year=2001, month=5, day=25, hour=5, minute=29, second=11)
# 现在时间
datetime01 = datetime.now()
print(type(datetime0))
print(datetime0.year, datetime0.month, datetime0.day, datetime0.hour, datetime0.minute, datetime0.second)
print(datetime0.strftime("%Y-%m-%d %H:%M:%S"))
timedelta 表示两个日期或时间之间的时间差。
可以通过 datetime1 - datetime2 得到一个 timedelta 对象,或使用 timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) 构造函数创建。
from datetime import timedelta
time_difference = timedelta(days=5, hours=3, minutes=30)
print(time_difference)
strftime(format):将 datetime 对象格式化为字符串。
strptime(date_string, format):将字符串解析为 datetime 对象。
now():返回当前日期和时间。
today():返回当前日期,时间部分设为零。
from datetime import datetime
current_datetime = datetime.now()
formatted_date = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)
在 Python 中,time 模块提供了与时间相关的函数和类。这个模块主要用于执行与时间相关的操作,例如测量代码执行时间、获取当前时间等。以下是 time 模块的一些关键概念和常用函数
time() 函数返回当前时间的时间戳(从 epoch 到现在的秒数)。
import time
current_time = time.time()
print(current_time)
sleep() 函数让程序休眠指定的秒数,用于在程序执行时进行暂停。
import time
print("Start")
time.sleep(3)
print("End after 3 seconds")
#输出结果
Start
End after 3 seconds
ctime() 函数将给定的时间戳转换为可读的字符串格式
import time
timestamp = time.time()
readable_time = time.ctime(timestamp)
print(readable_time)
# 结果
Thu Jan 11 21:36:18 2024
gmtime() 函数将给定的时间戳转换为 UTC 时间的 struct_time 对象。
localtime() 函数将给定的时间戳转换为本地时间的 struct_time 对象。
import time
timestamp = time.time()
utc_time = time.gmtime(timestamp)
local_time = time.localtime(timestamp)
print("UTC Time:", utc_time)
print("Local Time:", local_time)
# 输出结果
UTC Time: time.struct_time(tm_year=2024, tm_mon=1, tm_mday=11, tm_hour=13, tm_min=37, tm_sec=32, tm_wday=3, tm_yday=11, tm_isdst=0)
Local Time: time.struct_time(tm_year=2024, tm_mon=1, tm_mday=11, tm_hour=21, tm_min=37, tm_sec=32, tm_wday=3, tm_yday=11, tm_isdst=0)
strftime() 函数将 struct_time 对象格式化为字符串。
strptime() 函数将字符串解析为 struct_time 对象。
import time
current_time = time.localtime()
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", current_time)
print("Formatted Time:", formatted_time)
# 结果为
Formatted Time: 2024-01-11 21:39:50
calendar 模块提供了处理日历相关操作的函数。这个模块允许你获取一年或一个月的日历,以及执行一些日历相关的计算。以下是 calendar 模块的一些关键概念和常用函数:
calendar() 函数返回一个多行字符串,表示给定年份的日历。w 控制日期的宽度,l 控制每周的行数,c 控制每个月之间的距离。
import calendar
cal = calendar.calendar(2022)
print(cal)
# 结果是
2022
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 1 2 3 4 5 6 1 2 3 4 5 6
3 4 5 6 7 8 9 7 8 9 10 11 12 13 7 8 9 10 11 12 13
10 11 12 13 14 15 16 14 15 16 17 18 19 20 14 15 16 17 18 19 20
17 18 19 20 21 22 23 21 22 23 24 25 26 27 21 22 23 24 25 26 27
24 25 26 27 28 29 30 28 28 29 30 31
31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 1 1 2 3 4 5
4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30
30 31
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 1 2 3 4 5 6 7 1 2 3 4
4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11
11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18
18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25
25 26 27 28 29 30 31 29 30 31 26 27 28 29 30
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 1 2 3 4 5 6 1 2 3 4
3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
31
month() 函数返回一个多行字符串,表示给定年份和月份的日历。
import calendar
cal = calendar.month(2022, 1)
print(cal)
#结果是:
January 2022
Mo Tu We Th Fr Sa Su
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
isleap() 函数检查给定的年份是否为闰年,如果是则返回 True,否则返回 False
import calendar
is_leap = calendar.isleap(2024)
print(is_leap)
#结果是
True
weekday() 函数返回给定日期的星期几(0 表示星期一,6 表示星期日)
import calendar
day_of_week = calendar.weekday(2024, 1, 11)
print(day_of_week)
#结果是
1
monthrange() 函数返回给定年份和月份的第一天是星期几和该月的总天数。
import calendar
first_day, total_days = calendar.monthrange(2024, 1)
print("First day of the month:", first_day)
print("Total days in the month:", total_days)
#结果是
First day of the month: 0
Total days in the month: 31
prmonth() 函数在控制台打印给定年份和月份的日历。
import calendar
calendar.prmonth(2022, 1)
#结果是:
January 2022
Mo Tu We Th Fr Sa Su
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
今天到这就结束了哈,明天见。