Python内置的日期和时间处理函数的用法
Python内置了一些强大的日期和时间处理函数,可以方便地进行各种日期和时间操作。这些函数可以帮助我们解析日期字符串,进行时间操作,比较日期和时间,以及格式化日期和时间输出。本文将介绍Python中常用的日期和时间处理函数的用法及示例。
1. datetime模块
datetime模块是Python中用来处理日期和时间的标准模块,它提供了多种处理日期和时间的方法和类。其中最常用的类有datetime.datetime、datetime.date和datetime.time。下面是一些datetime模块的示例:
(1) 获取当前时间:
import datetime now=datetime.datetime.now() print(now)
输出结果:2021-10-11 16:48:39.430798
(2) 格式化日期和时间输出:
import datetime
now=datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
输出结果:2021-10-11 16:48:39
%s 秒数(00~59)
%U 一年中的星期数(00~53,星期天是一个星期的开始)
%w 星期(0~6),星期天为 0,星期一为 1,以此类推
%W 一年中的星期数(00~53,星期一是一个星期的开始)
%x 本地日期
%X 本地时间
%y 去掉世纪的年份(00~99)
%Y 完整年份(例如2001)
(3) 获取某个时间点之前或之后的时间:
import datetime now=datetime.datetime.now() delta=datetime.timedelta(days=1) print(now+delta)
输出结果:2021-10-12 16:48:39.430798
(4) 获取某个时间点的年份、月份、日期、小时、分钟和秒数:
import datetime now=datetime.datetime.now() print(now.year) print(now.month) print(now.day) print(now.hour) print(now.minute) print(now.second)
输出结果:
2021
10
11
16
48
39
2. dateutil模块
dateutil模块是一个第三方模块,提供了一些方便的日期和时间处理函数,包括解析日期字符串、计算日期差、获取日期和时间的属性等。下面是一些dateutil模块的示例:
(1) 解析日期字符串:
from dateutil.parser import parse date_str='2021-10-11 16:48:39' date=parse(date_str) print(date)
输出结果:2021-10-11 16:48:39
(2) 计算两个日期之间的差值:
from dateutil.relativedelta import relativedelta
date1=parse('2021-10-11 16:48:39')
date2=parse('2021-10-10 17:00:00')
diff=relativedelta(date1,date2)
print(diff)
输出结果:relativedelta(days=+1, seconds=+50839)
(3) 获取日期和时间的属性:
from dateutil.parser import parse date_str='2021-10-11 16:48:39' date=parse(date_str) print(date.year) print(date.month) print(date.day) print(date.hour) print(date.minute) print(date.second)
输出结果:
2021
10
11
16
48
39
3. time模块
time模块是Python内置的处理时间的模块,主要提供了时间处理和格式化的函数。下面是一些time模块的示例:
(1) 获取当前时间:
import time now=time.localtime() print(now)
输出结果:time.struct_time(tm_year=2021, tm_mon=10, tm_mday=11, tm_hour=17, tm_min=21, tm_sec=26, tm_wday=0, tm_yday=284, tm_isdst=0)
(2) 格式化输出时间:
import time
now=time.localtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",now))
输出结果:2021-10-11 17:21:26
(3) 获取时间戳:
import time timestamp=time.time() print(timestamp)
输出结果:1633972846.979298
(4) 时间戳转为本地时间:
import time
timestamp=1633972846.979298
localtime=time.localtime(timestamp)
print(time.strftime("%Y-%m-%d %H:%M:%S",localtime))
输出结果:2021-10-11 17:21:26
4. calendar模块
calendar模块提供了一些处理日期和时间的函数,主要用于生成日历和日期功能。下面是一些calendar模块的示例:
(1) 获取某个月份的日历:
import calendar cal=calendar.month(2021,10) print(cal)
输出结果:
October 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 31
(2) 判断某一年是否是闰年:
import calendar
year=2021
if calendar.isleap(year):
print(f'{year} is a leap year')
else:
print(f'{year} is not a leap year')
输出结果:2021 is not a leap year
(3) 获取某个月份的 天和最后一天日期:
import calendar
year=2021
month=10
_, days=calendar.monthrange(year,month)
first_day=f'{year}-{month}-01'
last_day=f'{year}-{month}-{days}'
print(f'first day:{first_day},last day:{last_day}')
输出结果:first day:2021-10-01,last day:2021-10-31
总结
Python内置的日期和时间处理函数非常丰富,可以方便地进行各种日期和时间操作,同时第三方模块也提供了很多有用的函数。在实际编程中,需要根据具体需求选择合适的函数和模块来处理日期和时间,以提高代码效率和可读性。
