Pythonで現在の日付・時刻を取得する方法!初心者にもわかるdatetime.now()とtoday()
生徒
「Pythonで今の時間や今日の日付を知りたいんですが、どうやって書けばいいんですか?」
先生
「Pythonにはdatetimeというモジュールがあって、now()やtoday()を使えば簡単に現在の時刻や日付を取得できますよ。」
生徒
「それってどういう違いがあるんですか?あと、使い方も教えてほしいです!」
先生
「それじゃあ、datetime.now()とdatetime.today()の違いと、実際の使い方を一緒に見ていきましょう!」
1. Pythonで現在の日時を扱うには?
Python(パイソン)で「今」の日付や時刻を知りたいときは、標準モジュールであるdatetime(デイトタイム)を使います。これは、カレンダーや時計のような役割を持つ便利な機能です。
まず、datetimeモジュールを読み込むには以下のように書きます。
import datetime
これで、日付や時間の情報を自由に操作できるようになります。
2. datetime.now()で現在の日時(時刻含む)を取得
datetime.now()を使うと、「年月日」に加えて「時・分・秒」まで含まれた現在の日時を取得できます。つまり、カレンダーと時計が一緒になったような情報です。
import datetime
now = datetime.datetime.now()
print("現在の日時:", now)
現在の日時: 2025-09-03 14:55:21.123456
このように、2025-09-03が日付で、14:55:21.123456が時刻になります。最後の数字は「マイクロ秒」といって、1秒よりもさらに細かい時間を表しています。
3. datetime.date.today()で日付だけを取得
日付だけが欲しい場合には、datetime.date.today()を使うのが便利です。「時・分・秒」の情報はいらないというときに使います。
import datetime
today = datetime.date.today()
print("今日の日付:", today)
今日の日付: 2025-09-03
このように、日付だけが表示されてシンプルです。スケジュール管理や期限の計算などに使えます。
4. datetime.today()との違いに注意
datetime.today()という似た名前の関数もありますが、これはdatetime.now()とほぼ同じ動きをします。現在の「日時」を取得できます。
import datetime
dt = datetime.datetime.today()
print("datetime.today()の出力:", dt)
datetime.today()の出力: 2025-09-03 14:55:21.123456
違いは内部的なタイムゾーンの扱いなど細かい点ですが、初心者の方はまずnow()を使えば問題ありません。
5. 年・月・日・時・分・秒を個別に取り出す方法
取得した日時から、たとえば「年だけ」「月だけ」などの情報を取り出すこともできます。
import datetime
now = datetime.datetime.now()
print("年:", now.year)
print("月:", now.month)
print("日:", now.day)
print("時:", now.hour)
print("分:", now.minute)
print("秒:", now.second)
これにより、画面表示やファイル名に日時を使いたいときに役立ちます。
6. 日時を日本語形式で表示するには?
普通のprint()だと「2025-09-03」や「14:55:21.123456」のような形式になりますが、日本語で「2025年9月3日」や「14時55分」などの形にするにはstrftime()(ストラフトタイム)という関数を使います。
import datetime
now = datetime.datetime.now()
print(now.strftime("%Y年%m月%d日 %H時%M分%S秒"))
2025年09月03日 14時55分21秒
主な書き方の意味:
%Y:年(4桁)%m:月(2桁)%d:日(2桁)%H:時(24時間)%M:分%S:秒
7. 時間の取得を使った身近な例
「今の時間が夜だったらおやすみメッセージを出す」といったプログラムも作れます。これもdatetime.now()を使えば簡単にできます。
import datetime
now = datetime.datetime.now()
if now.hour >= 22:
print("もう夜遅いですね。おやすみなさい!")
else:
print("まだ起きてても大丈夫な時間ですね。")
まだ起きてても大丈夫な時間ですね。
このように、時間を使ってメッセージを変えるなど、実用的な工夫ができます。
8. よくあるエラーと注意点
よくある間違いとして、nowやtodayを直接使ってしまい、エラーになるパターンがあります。必ずdatetime.を前につけるようにしましょう。
# 間違った例(エラーになる)
now = now()
# 正しい例
now = datetime.datetime.now()
また、import datetimeを忘れると、そもそもdatetimeが使えずエラーになります。
9. datetimeの使い方まとめの前に
この記事では、Pythonで現在の日付や時刻を取得する方法としてdatetime.now()やdatetime.date.today()の使い方を詳しく解説しました。初心者でも簡単に使えるように、例えや実例をまじえて丁寧に紹介しました。
今後のプログラム作成や学習に、ぜひ活かしてみてください。