时间日期处理函数:Python中如何处理时间和日期?
Python提供了丰富的时间日期处理函数。它的datetime模块提供了处理日期和时间的类和函数。该模块提供了4种类,分别是date、time、datetime和timedelta,可以通过它们来处理年、月、日、时、分、秒。
1.date类
date类用于表示日期,包含年、月、日三个属性。该类的构造方法定义如下:
date(year, month, day)
其中,year表示年份,month表示月份(1到12),day表示该月的日期(1到31)。date类还有以下几个常用方法:
(1)日期的格式化:strftime(format)
参数format表示输出格式,在其中可以使用的占位符如下:
占位符 含义
%Y 4位数的年份
%m 月份(01到12)
%d 日(01到31)
%b 月份名称(缩写)
%B 月份名称(全称)
%a 星期几(缩写)
%A 星期几(全称)
%j 一年中的第几天(001到366)
示例代码:
from datetime import date
d = date(2021, 10, 1)
print(d.strftime('%Y/%m/%d'))
print(d.strftime('%B %d, %Y'))
输出结果:
2021/10/01
October 01, 2021
(2)计算两个日期之间的天数:days_to(other)
参数other表示另一个date对象,返回值是两个日期之间相差的天数。
示例代码:
from datetime import date
d1 = date(2021, 10, 1)
d2 = date(2021, 11, 1)
print((d2 - d1).days)
输出结果:
31
2.time类
time类用于表示时间,包含时、分、秒三个属性。该类的构造方法定义如下:
time(hour, minute, second, microsecond)
其中,hour表示小时(0到23),minute表示分钟(0到59),second表示秒(0到59),microsecond表示微秒(1到999999)。time类还有以下几个常用方法:
(1)时间的格式化:strftime(format)
参数format的占位符和date类一样。
示例代码:
from datetime import time
t = time(6, 30, 0, 0)
print(t.strftime('%I:%M %p'))
输出结果:
06:30 AM
(2)比较两个时间的先后:compare(other)
参数other表示另一个time对象,返回值是-1(self在other之前)、0(self与other相同)、1(self在other之后)。
示例代码:
from datetime import time
t1 = time(6, 30, 0, 0)
t2 = time(7, 0, 0, 0)
print(t1.compare(t2))
输出结果:
-1
3.datetime类
datetime类是date类和time类的结合体,可以表示日期和时间。该类的构造方法定义如下:
datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)
可以省略时分秒和微秒,构造出来的只是日期。
示例代码:
from datetime import datetime
dt = datetime(2021, 10, 1)
print(dt)
输出结果:
2021-10-01 00:00:00
datetime类也有strftime()方法,用法和date类的相同。
4.timedelta类
timedelta类用于表示时间间隔。构造方法定义如下:
timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
timedelta类的参数可以是正数、零或负数,可以表示不同的时间段。timedelta对象可以加减datetime、date和time对象,也可以与timedelta对象进行加减。
示例代码:
from datetime import datetime, timedelta
d1 = datetime(2021, 10, 1)
d2 = datetime(2021, 10, 3)
delta = d2 - d1
print(delta.days)
输出结果:
2
以上就是Python中的时间日期处理函数,掌握这些函数可以快速地处理时间和日期。使用这些函数可以方便地计算两个时间的差值、将时间转换成指定的格式、比较时间的先后等等。
