Python中时间相关函数的使用方法
Python中时间相关函数可用于处理或获取时间、日期信息,常见的时间相关函数包括time、datetime和calendar等模块。
1. time模块
该模块包含用于操作时间的函数,如获取当前时间、等待一段时间、休眠等。
(1)获取当前时间
获取当前时间可以使用time模块的time函数,返回自纪元以来经过的秒数。
例:
import time current_time = time.time() print(current_time)
输出:
1624577648.8629549
(2)将秒数转化为时间元组
秒数可以转化为时间元组,其中时间元组包含年、月、日、时、分、秒、一周的第几天、一年的第几天、夏令时间标志等内容。该函数为localtime,其参数为秒数,返回时间元组。
例:
import time current_time = time.time() time_tuple = time.localtime(current_time) print(time_tuple)
输出:
time.struct_time(tm_year=2021, tm_mon=6, tm_mday=24, tm_hour=16, tm_min=0, tm_sec=25, tm_wday=3, tm_yday=175, tm_isdst=0)
(3)格式化时间
时间元组可以格式化为字符串,该函数为strftime,可以实现将时间元组格式化成自定义的字符串。
例:
import time
current_time = time.time()
time_tuple = time.localtime(current_time)
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print(formatted_time)
输出:
2021-06-24 16:00:25
(4)将时间元组转化为秒数
时间元组可以转化为秒数,该函数为mktime,可以将时间元组转化为自纪元以来的秒数。
例:
import time time_tuple = (2021, 6, 24, 16, 0, 25, 3, 175, 0) current_time = time.mktime(time_tuple) print(current_time)
输出:
1624578025.0
2. datetime模块
该模块包含一个datetime类和一些用于处理日期和时间的函数。
(1)获取当前日期和时间
时区可以使用tzinfo参数设置,该参数用于指定时区对象。该函数为datetime.now。
例:
import datetime current_time = datetime.datetime.now() print(current_time)
输出:
2021-06-24 16:00:25.532609
(2)从字符串解析时间
将字符串转化为datetime对象,可以使用strptime函数,该函数可以根据提供的格式将字符串解析为datetime对象。
例:
import datetime date_string = "2021-06-24 16:00:25" converted_date = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S") print(converted_date)
输出:
2021-06-24 16:00:25
(3)获取当前日期
获取日期可以使用date函数,将日期和时间中的时间部分删除以获得仅日期。
例:
import datetime today = datetime.datetime.now().date() print(today)
输出:
2021-06-24
(4)格式化时间
可以使用strftime格式化日期和时间对象。例如,"%Y-%m-%d %H:%M:%S"可以格式化为:
- %Y:年份(四位数)
- %m:月份(两位数)
- %d:日期(两位数)
- %H:小时(两位数,24小时制)
- %M:分钟(两位数)
- %S:秒钟(两位数)
例:
import datetime
formatted_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time)
输出:
2021-06-24 16:00:25
3. calendar模块
该模块包含用于处理日历的函数。
(1)显示一个月的一个日历
可以使用month函数显示一个月的日历。该函数以年和月作为参数,并返回一个字符串字符串以表示该月的日历。
例:
import calendar calendar.month(2021, 6)
输出:
' 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
'
(2)是否为闰年
可以使用isleap函数检查给定年份是否为闰年。
例:
import calendar calendar.isleap(2021)
输出:
False
(3)每个星期的 天和每个月的 天
可以使用firstweekday函数获取日历星期的 天,并使用setfirstweekday函数来更改星期的 天。可以使用monthrange函数来确定给定年份的给定月份的 天是星期几。
例:
import calendar calendar.firstweekday() calendar.setfirstweekday(calendar.SUNDAY) calendar.monthrange(2021, 6)
输出:
(1, 30)
