Python时间模块四大必备知识点
时间是数据科学相关任务的一个重要方面。比如,日常的销售情况和库存信息,对于零售分析至关重要。而算法交易的数据,更是需要精确到分钟。
我们呈现、使用时间相关信息的方式,取决于任务本身。对于科学实验,我们可能会精确到微秒级记录的测量数据。但对于人口、家庭平均收入等人口统计信息,我们不需要如此精确。
Python的datetime模块可以帮助我们处理任何精度的时间相关的信息。在本文中,我们将详细介绍该模块中的4个对象,即date、time、datetime和timedelta。如果你想了解更多数据分析相关内容,可以阅读以下这些文章:
初学者最容易翻车的三大Python功能
十条让你生产力飙升的Python魔术命令
2021大厂数科面试五大Python经典题目
用Python实现Excel经典功能:VLOOKUP及Pivot Tables
# Date #
Date表示了以年、月和日为单位的日期。让我们通过几个例子来展示该如何使用它们。
我们可以通过传递年、月、日这些信息,来创建存储日期的date对象。
我们还可以根据今天的日期创建一个日期对象。
可以从日期对象中提取各个属性。
请务必注意,我们不能在月和日的前面使用0。比如,以下第一行代码就会返回一个语法错误。
另一个date上很有用的方法是ctime,它能以更详细或扩展的格式来返回日期信息。
我们还可以用减号来计算两个日期的差值。
返回的对象是timedelta类型,我们稍后也将在本文中介绍这个类型。差额是以天为单位计算的。
# Time #
Time对象表示以小时、分、秒和微秒为单位的时间。
在上面这几行代码中,我们只定义了小时和分钟的部分。Python会把其余时间属性默认为0。
我们还可以通过传递所有属性来创建更精确的时间。
# Datetime #
Datetime是date和time的组合。它可以表示来自日期和时间对象的所有属性。为了更方便理解,我们可以来看一些例子。
datetime在日期、或日期和时间结合的使用上有较强的灵活性。
从年份到微秒级别的参数之间,存在着层次结构。
today 函数也可以与 datetime 对象一起使用。
如果打印datetime对象,则会输出更结构化的结果。
就像date和time对象一样,你可以提取datetime对象的单个属性。
我们还可以计算两个datetime对象之间的差异。
# Timedelta #
Timedelta对象表示一段持续时间,所以,我们可以用它们来计算两个日期或时间之间的差值。
下面是一个表示持续时间为6天的timedelta对象。
我们可以以周、天、小时、分、秒和微秒为单位创建timedelta对象。以天和小时-分钟-秒的组合形式输出。
还可以将不同的单位组合起来创建timedelta对象。
我们已经列举了如何计算两个date或datetime对象之间的差异。timedelta对象的另一个常见用法是可以进行更改。
比如,我们可以可以添加特定持续时间到日期中,来计算未来日期。
我们还可以使用timedelta对象更改datetime对象。
# 总结 #
Python 的 Datetime 模块提供了许多不同的方法来操作日期和时间。在处理日期时非常方便。
我们介绍了datetime模块的4种主要对象类型。分别是date、time、datetime和timedelta。datetime对象是日期和时间对象的组合。它可以存储从年到微秒的信息。
当然,datetime 模块还提供了一些其他对象类型,比如timezone、strftime 和strptime。
谢谢你的阅读。如有任何见解,请在下方留言。你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/
原文作者:Soner Yıldırım
翻译作者:Lea
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://towardsdatascience.com/4-must-know-objects-in-python-datetime-module-d18565fddd05