Python で日時を日付に変換する

Vaibhhav Khetarpal 2023年1月30日
  1. Python で datetime.date() 関数を使用して日時を日付に変換する
  2. Python で Pandas を使用して DateTime を Date に変換する
Python で日時を日付に変換する

Python には、日付と時刻を格納するための特定の組み込みデータ型は含まれていません。ただし、Python コードの日付と時刻を変更および操作するクラスをユーザーに提供する datetime モジュールを提供します。

このチュートリアルでは、Python で DateTime を日付に変換するために利用できるさまざまな方法を学習します。

このプロセスを実装するさまざまな方法をリストする前に、datetime オブジェクトと date オブジェクトの違いを理解しましょう。

datetime オブジェクトは、時刻と日付を返すことができます。通常、マイクロ秒、秒、分、時、日、月、年の値など、さまざまな値が含まれています。一方、タイプ date のオブジェクトには日付のみが含まれます。

Python で datetime.date() 関数を使用して日時を日付に変換する

datetime() コンストラクターを使用して、日付を生成できます。

datetime() コンストラクターには、日、月、年の 3つのパラメーターがあります。

これらの 3つのパラメーターは、コンストラクターで日付を生成するために必要です。

プログラマーは、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 を使用して DateTime を Date に変換する

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 コマンドは、出力に日付値と DateTime 値の両方を表示するために使用されます。
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