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

使用Python的datetime函数库处理日期和时间数据

发布时间:2023-06-25 15:47:55

Python是一种非常强大的编程语言,其中datetime模块可以用来处理日期和时间数据。datetime模块是Python自带的模块,可以方便的对日期和时间进行格式化、计算和比较。在日常的数据处理和分析工作中,datetime模块经常会被使用到,下面就来详细介绍一下Python中的datetime函数库。

datetime模块提供了将日期和时间表示为一种数据类型的能力。在本文中,我们会分别介绍datetime模块中date、time、datetime和timedelta类型,以及如何使用这些类型进行日期和时间的操作。

date类型

date类型表示一个日期,包括年、月、日。date的构造函数是date(year, month, day),year、month、day分别是年月日的整数值。例如:

import datetime

d = datetime.date(2019, 9, 12)

print(d)

输出结果为:

2019-09-12

上面的例子中,我们使用datetime模块中的date函数创建一个日期对象d,并将其打印出来。格式化输出日期的方式比较灵活,常用的格式化字符有:

格式化字符 含义

%Y 年,4位数字

%m 月,2位数字

%d 日,2位数字

%a 星期几,缩写

%A 星期几,全称

%b 月份,缩写

%B 月份,全称

这些格式化字符可以组合使用。例如:

import datetime

d = datetime.date(2019, 9, 12)

print(d.strftime('%Y-%m-%d'))

输出结果为:

2019-09-12

strftime函数可以将日期对象d按照给定的格式输出为字符串。在这个例子中,我们使用了’%Y-%m-%d’格式来输出日期。

还可以用date.today()来创建一个表示当前日期的date对象。

time类型

time类型表示一个时间,包括时、分、秒。time的构造函数是time(hour, minute, second, microsecond),hour、minute、second、microsecond分别是时、分、秒、微秒的整数值。例如:

import datetime

t = datetime.time(9, 30, 45)

print(t)

输出结果为:

09:30:45

上面的例子中,我们使用datetime模块中的time函数创建一个时间对象t,并将其打印出来。和date类型一样,time类型也有自己的格式化字符,例如:

格式化字符 含义

%H 小时,24小时制,2位数字

%I 小时,12小时制,2位数字

%M 分钟,2位数字

%S 秒,2位数字

%f 微秒,6位数字

%p AM/PM

例如:

import datetime

t = datetime.time(9, 30, 45, 8000)

print(t.strftime('%I:%M:%S.%f %p')) 

输出结果为:

09:30:45.008000 AM

datetime类型

datetime类型是date类型和time类型的结合体,表示一个日期和时间的组合。datetime的构造函数是datetime(year, month, day, hour, minute, second, microsecond),year、month、day、hour、minute、second、microsecond分别是年月日时分秒微秒的整数值。例如:

import datetime

dt = datetime.datetime(2019, 9, 12, 9, 30, 45, 8000)

print(dt)

输出结果为:

2019-09-12 09:30:45.008000

datetime类型也有自己的格式化字符,和date和time类型的格式化字符一样,例如:

格式化字符 含义

%Y 年,4位数字

%m 月,2位数字

%d 日,2位数字

%H 小时,24小时制,2位数字

%I 小时,12小时制,2位数字

%M 分钟,2位数字

%S 秒,2位数字

%f 微秒,6位数字

%p AM/PM

%a 星期几,缩写

%A 星期几,全称

%b 月份,缩写

%B 月份,全称

timedelta类型

timedelta类型表示两个日期或时间之间的差异。timedelta的构造函数是datetime.timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks),可以传入一个或多个参数,这些参数可以是days、seconds、microseconds、milliseconds、minutes、hours、weeks等变量的组合。例如:

import datetime

d1 = datetime.date(2019, 9, 12)

d2 = datetime.date(2019, 9, 10)

delta = d1 - d2

print(delta)

输出结果为:

2 days, 0:00:00

上面的例子中,我们计算了d1和d2之间的差异,得到一个timedelta类型的对象delta,并将其打印出来。timedelta类型的对象可以进行加减运算,例如:

import datetime

d1 = datetime.datetime(2019, 9, 12, 9, 30, 45)

d2 = datetime.datetime(2019, 9, 12, 9, 0, 0)

delta = d1 - d2

print(delta)

输出结果为:

0:30:45

上面的例子中,我们计算了d1和d2之间的差异,得到一个timedelta类型的对象delta,并将其打印出来。

总结

本文主要介绍了Python中的datetime函数库,包括date、time、datetime和timedelta类型的相关操作。通过这些类型的灵活组合和操作,我们可以方便地对日期和时间进行计算、比较和格式化。在实际的数据分析和处理中,datetime模块是一个不可或缺的工具。