Python 中的 Pendulum 模块

pythonserver side programmingprogramming

Pendulum 模块在 Python 中用于日期时间操作和时区管理。使用此模块,您可以随时间管理日期、时间和其他相关内容。

Pendulum 模块能够轻松管理时区,这是其主要优势之一。它可以轻松处理来自世界各地的日期和时间,因为它可以在各个时区之间即时转换。对于任何处理时间敏感数据的人来说,Pendulum 模块都是一个强大的工具。您可以使用以下命令安装此模块 -

pip install pendulum

Pendulum 模块中有一些方法

  • add

  • subtract

  • format string

  • period

  • parse string

  • in_timezone

add() 方法

此方法将 Pendulum 实例增加一个或多个单位(年、月、日、时、分、秒等)。

示例

add(days=5) 将向 Pendulum 实例添加 5 天并返回新日期。

import pendulum

now = pendulum.now()
result = now.add(days=3)
print(result)

输出

2023-06-15T12:59:34.170914+05:30

此输出表示现在是 2023 年 6 月 15 日,UTC+05:30 时区下午 12:59,34.170914 秒。

subtract() 方法

此方法从 Pendulum 实例中减去一个或多个单位(年、月、日、时、分、秒等)。

示例

subtract(days=3, hours=2) 将减去 3 天和2 小时,并返回新时间。

import pendulum

now = pendulum.now()
result = now.subtract(days=3, hours=2)
print(result)

输出

2023-06-09T11:21:58.461996+05:30

此输出表示现在是 2023 年 6 月 9 日,UTC+05:30 时区,晚上 11:21,58.461996 秒。

format() 方法

format() 方法在 Pendulum 模块中可用,用于以指定的格式显示日期和时间。它接收一个格式字符串,并使用该格式字符串将 Pendulum 实例解析为指定的格式。

示例

在此示例中,我们在 Pendulum 模块中创建了不同的格式字符串。

import pendulum

# 创建 Pendulum 实例
dt = pendulum.datetime(2023, 6, 12, 2, 19, 35, 123456, tz='UTC')

# 使用 format() 格式化 Pendulum 实例
form_date = dt.format('YYYY-MM-DD')
form_time = dt.format('HH:mm:ss.SSSSSS')
form_datetime = dt.format('YYYY-MM-DD HH:mm:ss')

# 打印格式化的结果
print("格式化的日期:",form_date)
print("格式化的时间:",form_time)
print("格式化的日期时间:",form_datetime)

输出

日期格式:2023-06-12
时间格式:02:19:35.123456
日期时间格式:2023-06-12 02:19:35

Period() 方法

diff() 函数或从另一个 DateTime 实例中减去一个 DateTime 实例时将返回一个 Period 对象。

示例

我们可以借助 period() 方法创建 period 实例。

import pendulum
start_date = pendulum.datetime(2022, 6, 12)
end_date = pendulum.datetime(2023, 6, 12)
period = pendulum.period(start_date, end_date)
period.days

输出

365

在此程序中,我们使用 period() 函数查找两个日期时间之间的差异。

parse() 方法

Pendulum 模块的 parse() 方法用于通过解析给定的日期或时间字符串来创建 Pendulum 实例。它会自动识别各种日期和时间格式,并可用于将它们解析为 pendulum 对象。

示例

下面是我们在 Pendulum 中使用 parse() 方法的示例。

import pendulum

result = pendulum.parse("2023-06-12T03:30:48", tz="UTC")
print(result)

输出

2023-06-12T03:30:48+00:00

在此示例中,我们使用 parse() 方法创建了一个 pendulum DateTime 实例结果。我们使用日期和时间字符串"2023-06-12T03:30:48"作为 parse() 的参数。使用 tz 参数是为了检查解析的 DateTime。在此示例中,我们将其设置为"UTC"时区。parse() 方法会自动检测输入字符串的格式并相应地创建 Pendulum 实例。

in_timezone() 方法

in_timezones() 函数在 Pendulum 模块中可用,用于将给定实例转换为一个或多个时区。根据给定的时区返回一个新的 Pendulum 实例,其中包含日期和时间。

示例

以下示例展示了如何使用 in_timezones() 方法。

import pendulum

res = pendulum.now("UTC")
final_res = res.in_timezone("Asia/Kolkata")

print("Current datetime in the UTC timezone: ",res)
print("Converted datetime in the 'Asia/Kolkata' timezone: ",final_res)

输出

Current datetime in the UTC timezone: 2023-06-14T03:53:50.575082+00:00 Converted datetime in the 'Asia/Kolkata' timezone: 2023-06-14T09:23:50.575082+05:30

在此程序中,我们首先打印"UTC"时区的当前时间,然后借助 in_timezone 方法将其转换为"亚洲/加尔各答"时区。

结论

Pendulum 模块对于处理日期和时间的 Python 用户来说是一项重要资产。其有用的功能、用户友好的界面和轻松的时区兼容性可以简化您的任务并提高您的效率。


相关文章


有用资源