返回顶部
首页 > 资讯 > 后端开发 > Python >Python中DateTime库Pendulum有什么用
  • 519
分享到

Python中DateTime库Pendulum有什么用

2023-06-25 15:06:01 519人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python中DateTime库Pendulum有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.直接替换 datetime使用 pytz 等第三方库来解决一些 Pyt

这篇文章将为大家详细讲解有关python中DateTime库Pendulum有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1.直接替换 datetime

Python中DateTime库Pendulum有什么用

使用 pytz 等第三方库来解决一些 Python datetime不擅长的问题并不少见。但是,我们仍然需要导入 datetime 模块并将其用作必不可少的,因为我们需要使用它来实例化 datetime 对象。

让我向你展示为什么 Pendulum 是一种替代品。 首先,我们需要使用pip安装它。

pip install pendulum

该库的名称有点长,因此我建议使用别名导入它

import pendulum as pdl

虽然 pd 是一个较短的缩写,但我会为 pandas 保留它。不想制造任何混乱。

让我们使用 Pendulum 创建一个 datetime 对象,并看看它的对象类型。

from datetime import datetimedt = pdl.datetime(2021, 11, 6)isinstance(dt, datetime)

Python中DateTime库Pendulum有什么用

Pendulum 继承了 Python datetime 对象。 因此,我们无需担心使用 datetime 模块中的一些原始功能。 从字面上看,Pendulum datetime 对象是 Python datetime 对象。

2. 时区

Python中DateTime库Pendulum有什么用

Pendulum 库最令人印象深刻的功能是时区, 这也是内置 datetime 模块的关键问题之一。 在 Python 3.9 之前,如果我们想使用 IANA 时区,我们必须涉及 pytz。

使用 Pendulum 库,我们可以像这样轻松地创建一个带有时区的日期时间对象。

dt_melbourne = pdl.datetime(2021, 11, 6, tz='Australia/Melbourne')dt_brisbane = pdl.datetime(2021, 11, 6, tz='Australia/Queensland')print(dt_melbourne)print(dt_brisbane)

Python中DateTime库Pendulum有什么用

在上面的例子中,我们同时创建了两个对象。 但是,时区是不同的。 Pendulum 还允许我们轻松比较时间。

dt_melbourne.diff(dt_brisbane).in_hours()

Python中DateTime库Pendulum有什么用

多么容易啊! 比较具有不同时区的两个日期时间对象并获得确切结果!

如果我们需要定义多个 datetime 对象并希望重新使用 timezone 字符串,我们可以创建一个 timezone 对象并将其传递给 datetime 构造函数。

my_timezone = pdl.timezone('Australia/Melbourne')dt_melbourne = pdl.datetime(2021, 11, 6, tz=my_timezone)print(dt_melbourne)print(dt_melbourne.timezone.name)

Python中DateTime库Pendulum有什么用

另一个很酷的功能是将时间返回到不同的时区。 例如,墨尔本是午夜,那么布里斯班是几点?

Python中DateTime库Pendulum有什么用

3. 日期时间解析

Python中DateTime库Pendulum有什么用

解析日期时间可能是编程中最常见的用例,Python datetime 模块做得很好。 但是与大多数其他编程语言相比,Python 使用了不同的格式 %Y%m%d。

Pendulum 允许我们使用如下常见的格式代码

pdl.from_fORMat('2021-11-06 22:00:00', 'YYYY-MM-DD HH:mm:ss')

Python中DateTime库Pendulum有什么用

此外,它完全支持 RFC 3339 和 ISO 8601 格式,以及其他一些常见格式。 这意味着我们不必指定格式代码来将字符串解析为日期时间。

Python中DateTime库Pendulum有什么用

Pendulum 还集成了许多常见的日期时间扩展,例如 dateutil。 如果我们希望库依赖于 dateutil 解析器,我们可以传递标志 strict=False。

pdl.parse('21-11-06', strict=False)

Python中DateTime库Pendulum有什么用

除此之外,Pendulum 即时支持更多格式。 例如,只有数字的日期时间。

Python中DateTime库Pendulum有什么用

这个很有趣,指定年份、周数和那一周的日期,Pendulum 给你正确的日期时间。

Python中DateTime库Pendulum有什么用

如果我们特别想要一个日期对象或一个时间对象,只需指定exact=True,这比Python datetime 模块容易得多。

Python中DateTime库Pendulum有什么用

4. 字符串格式化

将字符串解析为日期时间对象后,下一件重要的事情就是将日期时间输出为具有格式的字符串。

首先,让我们有一个 datetime 对象。 由于 Pendulum 继承了 Python datetime,我们可以使用 now() 等所有方法。

Python中DateTime库Pendulum有什么用

然后,让我从 Pendulum 中挑选几个“to string”方法的例子,看看用开箱即用的格式输出日期时间是多么容易。

dt.to_date_string()  # with date onlydt.to_time_string()  # with time onlydt.to_formatted_date_string()  # month_abbr date, yeardt.to_day_datetime_string() # day, month_abbr date, year hh:mm am/pmdt.to_iso8601_string()  # to ISO 9601 standarddt.to_atom_string()  # to Atom formatdt.to_cookie_string()  # to cookie style format

Python中DateTime库Pendulum有什么用

当然,我们可以使用格式码来自定义输出字符串,格式更直观。

Python中DateTime库Pendulum有什么用

另一个很酷的东西是我们可以轻松地将一些不相关的字符串添加到格式字符串中,并让它们脱离格式。

Python中DateTime库Pendulum有什么用

5. 人类可读性

在内置的 Python datetime 模块中,timedelta 工具可以很好地完成比较工作。 然而,Pendulum 甚至可以通过在比较两个日期时间对象时提供一些更人性化的输出来改进它。

例如,diff_for_humans() 方法将日期时间对象与当前时间进行比较,并返回一个非常人性化的输出。

Python中DateTime库Pendulum有什么用

6. 查找相对日期时间

Python中DateTime库Pendulum有什么用

内置 Python 日期时间可以改进的方面之一是根据给定的日期时间查找相对日期时间。 例如,当我们要查找当月的最后一天时,我们必须使用 datetutil 模块中的 relativedelta。

from dateutil.relativedelta import relativedeltadatetime.datetime(2013, 2, 21) + relativedelta(day=31)

此外,代码不是很可读,因为我们使用 day=31 作为参数,尽管当月份少于 31 天时它会起作用。

在 Pendulum 中,再简单不过了。

Python中DateTime库Pendulum有什么用

内置 datetime 模块的另一个不便之处是查找一周中的某一天。 例如,如果我们要查找下周一的日期,这可能是最简单的方法。

from datetime import datetime, timedeltadatetime.now() + timedelta(days=(0-datetime.now().weekday()+7)%7)

它可以完成这项工作,但可读性差。 开发人员需要花一些时间来理解这行代码的逻辑是什么。

使用 Pendulum,就这么简单

Python中DateTime库Pendulum有什么用

我们甚至不用考虑用 0 还是 1 来表示星期一,因为 Pendulum 使用枚举来表示星期一。

同样,我们可以使用 previous() 方法来查找上一个星期二,如下所示。 此外,我们可以通过设置参数 keep_time=True 来保留时间部分。

Python中DateTime库Pendulum有什么用

7. 一些额外的便利

Python中DateTime库Pendulum有什么用

这个库中隐藏着更多的“秘密”。 再举几个例子,比如昨天或明天。

Python中DateTime库Pendulum有什么用

输出具有不同文化和语言区域设置的日期时间也很容易。

Python中DateTime库Pendulum有什么用

关于“Python中DateTime库Pendulum有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Python中DateTime库Pendulum有什么用

本文链接: https://lsjlt.com/news/305700.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中DateTime库Pendulum有什么用
    这篇文章将为大家详细讲解有关Python中DateTime库Pendulum有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.直接替换 datetime使用 pytz 等第三方库来解决一些 Pyt...
    99+
    2023-06-25
  • 最好的Python DateTime 库之 Pendulum 长篇解析
    不过不得不说,datetime模块也有一些限制。 例如,当我们处理时区时,通常会显得短缺。有时,我们不得不引入一些第三方库作为补充。 此外,datetime 模块中的某些方面在其他编...
    99+
    2024-04-02
  • Python中的datetime模块有什么用
    datetime模块是Python中处理日期和时间的标准库,提供了一系列用于处理日期、时间、时间间隔和日期时间的类和函数。它的主要用...
    99+
    2023-09-23
    python
  • python中datetime的作用是什么
    python中datetime的作用是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、...
    99+
    2023-06-14
  • 详解Python中datetime库的使用
    目录1. datetime 库概述2. 拓展: 1970年1月1日3. datetime 库解析1. datetime 库概述 以不同格式显示日期和时间是程序中最常用到的功能。Pyt...
    99+
    2023-05-18
    Python datetime datetime
  • python中gitlab库有什么用
    安装首先需要安装 python-gitlab 库pip 安装sudo pip install --upgrade python-gitlab源码安装git clone https://github.com/python-gitlab/pyt...
    99+
    2023-05-16
    Python gitlab
  • Python最好的日期处理库pendulum的使用指南
    关于日期处理,Python 提供了很多的库,比如标准库 datetime、第三方库 dateutil、arrow 等等。这里介绍一个我个人最喜欢的库 pendulum,用起来可以说非...
    99+
    2024-04-02
  • 数据库datetime的用法是什么
    在数据库中,datetime是一种数据类型,用于存储日期和时间的值。它通常用于记录创建时间、修改时间等需要精确时间戳的情况。date...
    99+
    2023-10-12
    数据库
  • python中的muggle_ocr库有什么用
    这篇文章主要介绍“python中的muggle_ocr库有什么用”,在日常操作中,相信很多人在python中的muggle_ocr库有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中的mug...
    99+
    2023-06-20
  • MySQL中datetime与timestamp有什么区别
    这期内容当中小编将会给大家带来有关MySQL中datetime与timestamp有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  相同  显示  TIMEST...
    99+
    2024-04-02
  • Python标准库datetime之datetime模块用法分析详解
    目录1、日期时间对象2、创建日期时间对象2.1、通过datetime.datetime.utcnow()创建2.2、通过datetime.datetime.today()函数创建2....
    99+
    2024-04-02
  • python中time和datetime的区别及用法是什么
    本篇内容介绍了“python中time和datetime的区别及用法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一. Python中...
    99+
    2023-07-05
  • Python中时间操作datetime怎么用
    小编给大家分享一下Python中时间操作datetime怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python 在对时间操作内置库提供了time模块和d...
    99+
    2023-06-21
  • c#中datetime tostring的作用是什么
    在C#中,DateTime.ToString()方法用于将DateTime对象转换为其等效的字符串表示形式。通过调用ToString...
    99+
    2024-03-04
    c#
  • c#中datetime tostring的用法是什么
    在C#中,DateTime.ToString()方法用于将DateTime对象转换为其等效的字符串表示形式。这个方法有多个重载形式,...
    99+
    2024-03-04
    c#
  • Python的datetime怎么使用
    这篇文章主要介绍“Python的datetime怎么使用”,在日常操作中,相信很多人在Python的datetime怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python的datetime怎么使用...
    99+
    2023-06-21
  • Python中的datetime包与time包怎么用
    这篇文章主要介绍“Python中的datetime包与time包怎么用”,在日常操作中,相信很多人在Python中的datetime包与time包怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Pytho...
    99+
    2023-06-29
  • mysql中datetime和timestamp的作用是什么
    本篇文章给大家分享的是有关mysql中datetime和timestamp的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 DAT...
    99+
    2024-04-02
  • VB.NET中DateTime属性的作用是什么
    本篇文章为大家展示了VB.NET中DateTime属性的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。属性Date:返回一个DateTime值,显示日期。   Day:...
    99+
    2023-06-17
  • C#中DateTime与TimeSpan的用法是什么
    在C#中,DateTime和TimeSpan是两个不同的类型,用于处理日期和时间。 DateTime用于表示一个具体的日期和时间。它...
    99+
    2023-10-23
    C#
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作