在 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