41.Python从入门到精通—格式化日期 获取某月日历 Time 模块 日历(Calendar)模块 其他相关模块和函数
格式化日期
在 Python 中,可以使用 strftime() 方法将日期格式化为字符串。下面是一个简单的示例:
import datetime
now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("格式化后的日期:", formatted_date)
输出结果类似于:
格式化后的日期: 2022-10-31 16:15:30
其中,strftime() 方法接受一个格式化字符串作为参数,用于指定输出的日期格式。常用的格式化字符包括:
%Y:四位数的年份(例如:2022)
%m:两位数的月份(01 到 12)
%d:两位数的日期(01 到 31)
%H:24 小时制的小时数(00 到 23)
%M:分钟数(00 到 59)
%S:秒数(00 到 59)
除了上述常用格式化字符外,还可以使用其他格式化字符,具体可以参考 Python 官方文档。
获取某月日历
在 Python 中,可以使用 calendar 模块的 month() 函数来获取指定月份的日历。month() 函数的语法如下:
calendar.month(year, month, w=0, l=0)
其中,year 和 month 是必需的参数,用于指定要获取的年份和月份。w 和 l 是可选参数,分别用于指定每个日期之间的间距和每周占据的行数。
以下是一个简单的例子,演示如何使用 month() 函数获取某月的日历:
import calendar
# 获取2021年6月的日历
cal = calendar.month(2021, 6)
# 打印日历
print(cal)
输出结果如下:
June 2021
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
在上面的例子中,我们首先使用 month() 函数获取 2021 年 6 月的日历,并将其赋值给变量 cal。然后,我们使用 print() 函数打印日历。输出结果显示了 2021 年 6 月的日历,包括每天的日期和星期几。
Time 模块
Python 的 time 模块提供了一些与时间相关的函数和变量,包括获取当前时间、休眠等待、时间转换等操作。下面是一些常用的函数和变量:
time():获取当前时间戳(从 1970 年 1 月 1 日开始的秒数)
sleep(seconds):休眠指定的秒数
localtime():获取当前本地时间的结构体
gmtime():获取当前世界标准时间的结构体
mktime(time_struct):将时间结构体转换为时间戳
strftime(format, time_struct):将时间结构体格式化为字符串
下面是一些示例代码:
获取当前时间戳
import time
timestamp = time.time()
print("当前时间戳:", timestamp)
休眠指定的秒数
import time
print("开始休眠...")
time.sleep(3)
print("休眠结束")
获取当前本地时间的结构体
import time
local_time = time.localtime()
print("当前本地时间:", local_time)
获取当前世界标准时间的结构体
import time
gmt_time = time.gmtime()
print("当前世界标准时间:", gmt_time)
将时间结构体转换为时间戳
import time
local_time = time.localtime()
timestamp = time.mktime(local_time)
print("时间戳:", timestamp)
将时间结构体格式化为字符串
import time
local_time = time.localtime()
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("格式化后的时间:", formatted_time)
这些只是 time 模块的一些常用操作,还有很多其他的功能,具体可以参考官方文档。
日历(Calendar)模块
日历(Calendar)模块是 Python 标准库中的一个模块,提供了一些与日期和时间相关的函数和类,可以用于处理日期和时间,例如获取指定月份的日历、计算两个日期之间的天数等等。
下面是一些常用的日历模块函数:
calendar.month(year, month[, w[, l]]):返回指定年份和月份的日历字符串。
calendar.calendar(year[, w[, l[, c]]]):返回指定年份的日历字符串。
calendar.isleap(year):判断指定年份是否为闰年,是则返回 True,否则返回 False。
calendar.leapdays(y1, y2):返回 y1 和 y2 之间(不包括 y2)的闰年数量。
calendar.weekday(year, month, day):返回指定日期的星期几,其中星期一到星期日分别对应 0 到 6。
calendar.day_name:一个包含星期一到星期日全名的元组。
calendar.month_name:一个包含月份全名的元组。
下面是一个简单的例子,演示如何使用 calendar 模块获取指定年份和月份的日历:
import calendar
# 获取 2021 年 6 月的日历
cal = calendar.month(2021, 6)
# 打印日历
print(cal)
输出结果如下:
June 2021
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
在上面的例子中,我们使用 month() 函数获取 2021 年 6 月的日历,并将其赋值给变量 cal。然后,我们使用 print() 函数打印日历。输出结果显示了 2021 年 6 月的日历,包括每天的日期和星期几。
其他相关模块和函数
除了 datetime 和 time 模块之外,Python 还提供了一些其他与时间相关的模块和函数,下面简单介绍一下:
calendar 模块:提供了一些与日历相关的函数和变量,例如获取指定年份和月份的日历、判断某一年是否为闰年等。
dateutil 模块:提供了一些高级的日期和时间处理函数,例如可以解析各种格式的日期字符串、进行日期的加减运算等。
pytz 模块:提供了时区相关的函数和变量,例如可以获取指定时区的当前时间、将本地时间转换为指定时区的时间等。
下面是一些示例代码:
使用 calendar 模块获取指定年份和月份的日历:
import calendar
cal = calendar.month(2022, 11)
print("2022 年 11 月的日历:")
print(cal)
使用 dateutil 模块解析日期字符串:
from dateutil.parser import parse
date_str = '2022-11-01 12:30:00'
dt = parse(date_str)
print("解析后的日期:", dt)
使用 pytz 模块获取指定时区的当前时间:
import pytz
import datetime
tz = pytz.timezone('Asia/Shanghai')
dt = datetime.datetime.now(tz)
print("上海的当前时间:", dt)
这些模块和函数可以让我们更方便地进行日期和时间的处理,具体使用方法可以参考官方文档。