在 Python 中将日期时间转换为日期
Python 不包含任何用于存储日期和时间的特定内置数据类型。但是,它提供了一个 datetime
模块,该模块为用户提供了在 Python 代码中更改和操作日期和时间的类。
在本教程中,我们将学习在 Python 中将 DateTime 转换为日期的不同方法。
在列出实现此过程的不同方法之前,让我们了解 datetime
和 date
对象之间的区别。
datetime
对象能够返回时间和日期。通常,它包含各种各样的值,即微秒、秒、分钟、小时、日、月和年值。另一方面,date
类型的对象只包含日期。
在 Python 中使用 datetime.date()
函数将日期时间转换为日期
datetime()
构造函数可用于生成日期。
datetime()
构造函数具有三个参数:日、月和年。
这三个参数是使用构造函数生成日期所必需的。
程序员可以简单地使用返回 date
类型对象的 date()
函数。
以下代码使用 date()
函数在 Python 中将 DateTime 转换为日期。
import datetime
print(datetime.datetime.now())
print(datetime.datetime.now().date())
输出:
2021-10-17 21:27:46.018327
2021-10-17
解释
datetime
模块被导入到 Python 代码中- 当前日期和时间由
datetime.datetime.now()
函数作为datetime
对象提供。 - 当前日期作为
date
类型的对象是在date()
函数和datetime.datetime.now()
函数的帮助下提供的。
当需要直接查找当前日期时,可以使用 datetime.date.today()
函数。但是,如果我们需要除当前日期之外的任何其他内容,则此替代方法不起作用。
以下代码使用 datetime.date.today()
函数。
import datetime
print(datetime.datetime.now())
print(datetime.date.today())
输出:
2021-10-17 21:27:46.018327
2021-10-17
对于这种特殊情况,这两种方法都提供与我们处理当前日期相同的输出。
在 Python 中使用 Pandas 将日期时间转换为日期
Pandas DataFrame
可用于生成容纳时间和日期值的数组。
要使用 pandas DataFrame
并生成一个包含 time
列的数组,我们需要导入 pandas
模块。
以下代码使用 Pandas DataFrame
在 Python 中将 DateTime 转换为日期。
import pandas as pd
dataf = pd.DataFrame(
{"EMP": [3, 6], "time": ["2021-10-15 16:05:00", "2021-10-17 20:00:30"]}
)
print(dataf)
dataf["time"] = pd.to_datetime(dataf["time"]).dt.date
print(dataf)
输出:
EMP time
0 3 2021-10-15 16:05:00
1 6 2021-10-17 20:00:30
EMP time
0 3 2021-10-15
1 6 2021-10-17
从上面的代码中可以清楚地看到,执行 dt.date
函数后,时间列只显示时间和日期。
解释
- 首先,我们创建一个 Pandas
DataFrame
并将 DateTime 值添加到列中。 - 然后,
dt.date()
函数用于将 DateTime 值转换为日期值。 print
命令用于在输出中显示日期值和日期时间值。
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn