datetimeの基本の使い方

現在日時の取得、任意の日時の生成方法

進導エイリ
進導エイリ

今回の記事では、以前 Pythonの便利なライブラリ3選 の記事で紹介した「datetime」についてもう少し詳しくご紹介します。ぜひ使ってみてくださいね。

datetimeとは?

datetimeは、Pythonに最初から用意されている標準ライブラリの1つです。 このライブラリを使って、現在時刻を取得するなどの日付の処理が簡単に行えます。

  現在日付・時刻を取得しよう

datetimeをインポートします。

from datetime import datetime

今日の日付時刻を取得してみましょう。

today = datetime.now()
print(today)

# 2022-04-01 10:00:00.271233

取得した日付時刻から、年や月のみを出力することもできます。

# 年
print(today.year)
# 2022

# 月
print(today.month)
# 4

# 日
print(today.day)
# 1

# 時
print(today.hour)
# 10

# 分
print(today.minute)
# 00

# 秒
print(today.second)
# 00

# マイクロ秒
print(today.microsecond)
# 271233

 任意の日付・時刻を生成しよう

次に、任意の日付時刻を生成してみましょう。任意の日付時刻は、以下のフォーマットで生成します。

datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

例として、2022年4月6日 15時30分30秒を生成してみます。

dt = datetime(2022, 4, 6, 15, 30, 30)
print(dt)
# 2022-04-06 15:30:30

時刻を省略すると、以下のように処理されます。

dt = datetime(2022, 4, 6)
print(dt)
# 2022-04-06 00:00:00

日付時刻を出力する際のフォーマットは自由カスタマイズすることができます。その際、日時と文字列を相互に変換するstrftime()メソッドを使います。

today = datetime.now()
print(today.strftime('%Y-%m-%d %H:%M:%S'))
# 2022-04-01 15:30:30

print(today.strftime('%Y年%m月%d日'))
# 2022年4月1日

print(today.strftime('%A, %B, %d, %Y'))
# Friday, April 01, 2022

主な書式コードを表にまとめたので、参考にしてください。

書式コード説明
%Y西暦4桁(0埋め)
%y西暦の下2桁(0埋め)
%m月(2桁表記、0埋め)
%Bロケール(地域)の月名    [例]英語圏の場合、Aprilなど
%H時間(2桁表記、24時間表記、0埋め)
%I時間(2桁表記、12時間表記、0埋め)
%M分(2桁表記、0埋め)
%S秒(2桁表記、0埋め)
%fマイクロ秒(6桁表記、0埋め)
%Aロケール(地域)の曜日名   [例]英語圏の場合、Mondayなど

datetimeの紹介は以上です。ぜひ活用してみてくださいね。

講師
講師

Startlabのプログラミング入門コースは、Python未経験者・初学者にもわかりやすいカリキュラムと続けやすいサポート体制が魅力。自分の学習目的に合っているか、どういった知識を身に付けることができるのかなど、無料カウンセリングでぜひご相談ください!カウンセリングは毎日実施中、お待ちしております!

無料カウンセリングを予約する