Python|現在の日付と時刻を取得する:datetime.now()

1. はじめに

Pythonでプログラムを作成する際、「現在の日時」を取得する場面はとてもよくあります。例えば、ログを記録する、ファイル名にタイムスタンプをつける、ユーザーの操作時刻を記録する、などです。

この記事では、Pythonで「現在の日付と時刻を取得する方法」として、datetime.now() の使い方を中心に解説します。初心者でも理解できるよう、基本的なコードから実践的な使い方まで丁寧に紹介します。

この知識を身につけることで、時間処理を伴う様々なPythonアプリケーション開発に対応できるようになります。

 

2. datetime.now()の基本|現在日時の取得方法

datetimeモジュールとは?

Pythonで日付や時刻を扱うには、標準ライブラリの datetime モジュールを使います。このモジュールには、日時を操作するための便利な関数やクラスが豊富に用意されています。

その中でも datetime.now() は、現在のローカル日時(年・月・日・時・分・秒・マイクロ秒)を取得する関数です。

基本的な使い方

from datetime import datetime

# 現在の日時を取得
now = datetime.now()

# 結果を出力
print(now)

実行結果:

2025-07-22 08:23:45.123456

datetime.now() は、現在の日時を datetime オブジェクトとして返します。

個別の要素を取得する

日付や時刻の要素を個別に取得することも可能です。

from datetime import datetime

now = datetime.now()

print("年:", now.year)
print("月:", now.month)
print("日:", now.day)
print("時:", now.hour)
print("分:", now.minute)
print("秒:", now.second)

実行結果:

年: 2025  
月: 7  
日: 22  
時: 8  
分: 23  
秒: 45

 

3. datetime.now()のよくある使い方・応用例

ログファイルにタイムスタンプをつける

ログファイルやデータ記録において、処理した日時を記録するのは基本中の基本です。

from datetime import datetime

log_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"処理を開始しました:{log_time}")

実行結果:

処理を開始しました:2025-07-22 08:23:45

strftime() を使うことで、日付と時刻のフォーマットを自由にカスタマイズできます。

ファイル名に日時をつける

データを保存する際、ファイル名に日時をつけることでバージョン管理や重複回避ができます。

from datetime import datetime

timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"log_{timestamp}.txt"
print(filename)

実行結果:

log_20250722_082345.txt

指定期間内かどうかを判定する

日時を使って条件判定する場面も多くあります。

from datetime import datetime

now = datetime.now()
start = datetime(2025, 7, 20)
end = datetime(2025, 7, 25)

if start <= now <= end:
    print("指定期間内です")
else:
    print("期間外です")

実行結果:

指定期間内です

 

4. datetime.now()の注意点・エラー対策

タイムゾーンに注意(UTCとJST)

datetime.now() はローカルのタイムゾーン(例:JST)で時刻を取得しますが、datetime.utcnow() を使うとUTC(協定世界時)で取得できます。

from datetime import datetime

print("ローカル時刻:", datetime.now())
print("UTC時刻:", datetime.utcnow())

実行結果:

ローカル時刻: 2025-07-22 08:23:45.123456  
UTC時刻: 2025-07-21 23:23:45.123456

タイムゾーンを明示的に扱いたい場合は pytzzoneinfo モジュールの利用を検討しましょう。

日付と時刻の整形ミスに注意

strftime() で指定するフォーマット文字列を間違えると、意図しない結果になります。以下のように、よく使うフォーマットは覚えておくと便利です。

  • %Y: 西暦(例:2025)
  • %m: 月(01〜12)
  • %d: 日(01〜31)
  • %H: 時(00〜23)
  • %M: 分(00〜59)
  • %S: 秒(00〜59)

 

5. まとめ|datetime.now()で現在日時を自在に扱おう

本記事では、Pythonで現在の日時を取得する方法として、datetime.now() の使い方を中心に解説しました。

  • datetime.now() で現在のローカル日時が取得できる
  • .year.strftime() で情報を自由に操作できる
  • ログ記録、ファイル名生成、条件判定など実務でも大活躍

実務では、日時処理を避けて通れない場面が数多くあります。今回の内容をしっかりマスターしておくことで、より実践的なPythonスクリプトが書けるようになります。

ぜひ、自分のプロジェクトに応じた使い方に応用してみてください。

タイトルとURLをコピーしました