Python 中的 Pendulum 模块


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

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

pip install pendulum

Pendulum 模块中有一些方法

  • add

  • subtract

  • 格式化字符串

  • 周期

  • 解析字符串

  • 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

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

subtract() 方法

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

示例

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

import pendulum

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

输出

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

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

format() 方法

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

示例

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

import pendulum

# Creating a Pendulum instance
dt = pendulum.datetime(2023, 6, 12, 2, 19, 35, 123456, tz='UTC')

# Format the Pendulum instance using format()
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 the formatted results
print("Date formatted:",form_date)
print("Time formatted:",form_time)
print("DateTime Formatted:",form_datetime)

输出

Date formatted: 2023-06-12 
Time formatted: 02:19:35.123456 
DateTime Formatted: 2023-06-12 02:19:35

Period() 方法

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

示例

我们可以借助 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 实例 result。我们将日期和时间字符串“2023-06-12T03:30:48”作为参数传递给 parse()。使用 tz 参数以便可以检查解析的 DateTime。在此示例中,我们将其设置为“UTC”时区。parse() 方法自动检测输入字符串的格式并相应地创建 Pendulum 实例。

in_timezone() 方法

Pendulum 模块中提供了 in_timezones() 函数,用于将给定实例转换为一个或多个时区。返回一个新的 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 方法将其转换为“Asia/Kolkata”时区。

结论

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

更新于: 2023-09-29

500 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告