在 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