社区编辑申请
注册/登录
如何在 Python 中使用 DateTime
开发 前端
在 Python 中,任何与日期和时间有关的事情都由 datetime 模块处理,它将模块进一步分为 5 个不同的类。类只是与对象相对应的数据类型。下图总结了 Python 中的 5 个日期时间类以及常用的属性和示例。

所有数据在开始时都会自动分配一个“DOB”(出生日期)。因此,在某些时候处理数据时不可避免地会遇到日期和时间数据。本教程将带您了解 Python 中的 datetime 模块以及使用一些外围库,如pandas 和 pytz。

在 Python 中,任何与日期和时间有关的事情都由 datetime 模块处理,它将模块进一步分为 5 个不同的类。类只是与对象相对应的数据类型。下图总结了 Python 中的 5 个日期时间类以及常用的属性和示例。

图片

3个有用的片段

1.将字符串转换为日期时间格式 ,也许是使用datetime 最常见的情况。

由于日期和时间的字母数字性质,将类似的日期和时间解析为 Python 通常会被解释为字符串。在本节中,我们将介绍如何将字符串列表解析为日期时间格式,以及如何将日期和时间数据拆分和组合到数据框中的各个列中。

图片

图片

片段 1 的打印输出

但是,如果日期时间以不寻常或模棱两可的方式格式化怎么办?一个常见的问题是美国和欧洲的日期时间书写方式之间的区别。在美式格式中,月份在前,而在欧洲样式中,日期在前。

图片

默认情况下,pandas 中的 to_datetime 通过将前一个少于 12 位 (<12) 的数字解析为月份来将对象转换为日期时间。例如,2/11/2021 将被解析为 2021-02-11,但 13/11/2021 将被解析为 2021-11-13。但是,有这个格式参数允许您以其他方式定义格式。

图片

或者, strftime() 方法有助于在返回字符串之前格式化日期时间。在以下示例中,原始日期时间之间的破折号 (-) 替换为反斜杠 (/),数字月份 (02) 替换为缩写的英语术语 (Feb)。

图片

由于有多种方法可以解释日期(日、月、年)和时间(时、分、秒),因此了解不同的格式代码至关重要。下表是常用格式代码的备忘单。

图片

2.使用时区

没有时区信息的 datetime 对象被称为“naive”,有时区信息的对象(通常在末尾带有 +HH:MM 对应 GMT)被认为是“aware”。pytz 可能是 Python 中最全面的库之一,它简化了时区计算的任务。以下代码段将向您展示如何在“naive”和“aware” datetime 对象之间进行转换,并可以使用不同的时区。代码的最后一部分还演示了如何将给定的日期时间对象转换为本地时区。此示例显示了日本和德国的时区代码,对于其他地区,您可以在此处参考。

图片

图片

片段2的输出

3.使用interval比较两个datetime(s)

有时我们必须有条件地比较两个日期时间。想象一下,您有两个数据框,第一个数据框仅包含一列日期时间,第二个数据框包含两列表示间隔和其余列中的其他信息。您的目标是从第一个数据帧中找到匹配的日期时间,如果它落在第二个数据帧的间隔内,如果是,则复制其他列。

图片

实现此目的的一种方法是使用 pd.Interval 压缩两个日期时间的间隔,然后将它们分配为数据框的索引,稍后可用于有条件地比较和映射日期时间。如果满足时间条件,这可以通过使用 for 循环复制感兴趣的列来完成。

图片

原文:https://towardsdatascience.com/how-to-work-with-datetime-in-python-26d4092dc484

责任编辑:武晓燕 来源: 新钛云服
相关推荐

2022-06-12 06:48:34

2022-06-05 21:09:47

Python办公自动化

2022-06-22 09:56:19

PythonMySQL数据库

2022-06-27 17:46:53

PythonFlask

2022-06-15 08:25:07

Python天气数据可视化分析

2022-05-11 09:02:27

Python数据库Excel

2022-06-17 09:08:27

代码Python内置库

2022-06-16 07:32:38

VSCodePython插件

2022-06-27 19:01:04

Python应用程序数据

2022-06-28 09:26:25

Python配置文件

2022-06-15 09:54:51

PythonIDELinux

2022-06-21 09:02:49

python技巧

2022-04-27 09:30:01

Python爬虫人工智能

2022-06-28 09:34:24

可视化Python代码

2022-06-28 12:35:21

DockerPython

2022-05-25 07:11:13

2022-06-16 16:08:00

Python初学者IDE

2022-05-17 09:14:50

聚类算法python

2022-06-06 09:56:38

编程语言Python

2022-06-02 07:13:12

Python3.11编程语言

同话题下的热门内容

哪个版本的JVM最快?无代码软件发展简史及未来趋势携程基于 GraphQL 的前端 BFF 服务开发实践为什么会存在 1px 问题?怎么解决?一文搞定常考Vue-Router知识点EcmaScript 2022 正式发布,有哪些新特性?一文详解|增长那些事儿远程医疗:优势、前景和现有IT解决方案

编辑推荐

太厉害了,终于有人能把TCP/IP协议讲的明明白白了!牛人5次面试腾讯不成功的经验HBase原理–所有Region切分的细节都在这里了Javascript如何监听页面刷新和关闭事件如何搭建一个HTTPS服务端
我收藏的内容
点赞
收藏

51CTO技术栈公众号