欢迎访问宙启技术站
智能推送

时间日期处理函数:Python中如何处理时间和日期?

发布时间:2023-06-24 00:17:52

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中的时间日期处理函数,掌握这些函数可以快速地处理时间和日期。使用这些函数可以方便地计算两个时间的差值、将时间转换成指定的格式、比较时间的先后等等。