在 Python 中将日期时间转换为日期

Vaibhhav Khetarpal 2023年1月30日
  1. 在 Python 中使用 datetime.date() 函数将日期时间转换为日期
  2. 在 Python 中使用 Pandas 将日期时间转换为日期
在 Python 中将日期时间转换为日期

Python 不包含任何用于存储日期和时间的特定内置数据类型。但是,它提供了一个 datetime 模块,该模块为用户提供了在 Python 代码中更改和操作日期和时间的类。

在本教程中,我们将学习在 Python 中将 DateTime 转换为日期的不同方法。

在列出实现此过程的不同方法之前,让我们了解 datetimedate 对象之间的区别。

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 Khetarpal avatar Vaibhhav Khetarpal avatar

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

相关文章 - Python DateTime