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

时间处理模块datetime的使用方法

发布时间:2023-05-21 17:16:34

Python 语言中有一个名为 datetime 的模块,其目的是处理与日期和时间相关的信息。它提供了许多有用的类和函数,可以帮助程序员在 Python 中轻松地处理日期和时间。本文将介绍 datetime 模块中一些重要的类和方法。

1. datetime 类

datetime 类是 datetime 模块中最重要的类之一。它用于表示一个日期和时间。该类的构造函数如下:

datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)

其中,year、month 和 day 分别代表年、月和日。hour、minute、second 和 microsecond 分别代表时、分、秒和微秒。这些参数都是整数。

下面的代码演示了如何创建一个 datetime 对象。

import datetime

dt = datetime.datetime(2021, 5, 26, 14, 30, 0, 5000)

print(dt)

输出结果如下:

2021-05-26 14:30:00.005000

2. date 类和 time 类

date 类用于表示日期,time 类用于表示时间。它们的构造函数分别如下:

datetime.date(year, month, day)
datetime.time(hour=0, minute=0, second=0, microsecond=0)

下面的代码演示了如何创建一个 date 对象和一个 time 对象,并使用它们创建 datetime 对象。

import datetime

d = datetime.date(2021, 5, 26)
t = datetime.time(14, 30, 0, 5000)

dt = datetime.datetime.combine(d, t)

print(dt)

输出结果如下:

2021-05-26 14:30:00.005000

3. timedelta 类

timedelta 类用于表示两个日期或时间之间的时间差。它的构造函数如下:

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

下面的代码演示了如何创建一个 timedelta 对象,并使用它计算两个日期之间的时间差。

import datetime

d1 = datetime.date(2021, 5, 26)
d2 = datetime.date(2021, 5, 31)

delta = d2 - d1

print(delta.days)

输出结果如下:

5

4. strftime 方法

strftime 方法用于将 datetime 对象格式化为字符串。它的参数是一个格式化字符串,用于指定输出格式。下面的代码演示了如何将 datetime 对象格式化为不同的字符串。

import datetime

dt = datetime.datetime(2021, 5, 26, 14, 30, 0, 5000)

print(dt.strftime("%Y/%m/%d %H:%M:%S.%f"))
print(dt.strftime("%Y-%m-%d %I:%M:%S %p"))
print(dt.strftime("%a, %d %b %Y %H:%M:%S GMT"))

输出结果如下:

2021/05/26 14:30:00.005000
2021-05-26 02:30:00 PM
Wed, 26 May 2021 14:30:00 GMT

其中,%Y 表示年份(4 位数字),%m 表示月份(2 位数字),%d 表示日(2 位数字),%H 表示小时(24 小时制),%M 表示分钟,%S 表示秒,%f 表示微秒,%a 表示星期几(缩写),%b 表示月份(缩写),%I 表示小时(12 小时制),%p 表示上午或下午。

5. strptime 方法

strptime 方法用于将字符串解析为 datetime 对象。它的参数是一个格式化字符串,用于指定输入格式。下面的代码演示了如何将字符串解析为 datetime 对象。

import datetime

s = "2021-05-26 14:30:00.005000"

dt = datetime.datetime.strptime(s, "%Y-%m-%d %H:%M:%S.%f")

print(dt)

输出结果如下:

2021-05-26 14:30:00.005000

其中,%Y、%m、%d、%H、%M、%S 和%f 的含义与 strftime 方法中相同。

总结

datetime 模块提供了处理日期和时间的易于使用的类和函数。它的 datetime 类用于表示日期和时间,date 类用于表示日期,time 类用于表示时间,timedelta 类用于表示时间差。strftime 方法用于将 datetime 对象格式化为字符串,strptime 方法用于将字符串解析为 datetime 对象。可以使用这些类和函数轻松地在 Python 中处理日期和时间。