Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで現在の日付と時刻を取得・表示する方法を徹底解説

Pythonで現在の日付と時刻を取得する方法はいくつかありますが、最も簡単なのは標準ライブラリの datetime モジュールを使うことです。datetimeモジュールには now() 関数が用意されており、これを呼び出すだけで現在の日付と時刻を取得できます。

基本的な使い方:datetime.now()

以下のコードは、現在の日付と時刻を取得して表示する最もシンプルな例です。

import datetime
now = datetime.datetime.now()
print("現在の日付と時刻: ")
print(str(now))

実行結果

2017-12-29 11:24:48.042720

このように、datetime.datetime.now() を実行すると、「年-月-日 時:分:秒.マイクロ秒」の形式で現在日時が返されます。

strftime()で自由にフォーマットする

表示形式をカスタマイズしたい場合は、strftime関数を使用します。strftimeには書式指定文字列(フォーマット文字列)を渡すことで、希望どおりの形式で日時を出力できます。主な書式指定子(ディレクティブ)は以下のとおりです。

書式指定子
意味
%a
ロケールにおける曜日の省略名(例:Fri)
%A
ロケールにおける曜日の完全な名前(例:Friday)
%b
ロケールにおける月の省略名(例:Dec)
%B
ロケールにおける月の完全な名前(例:December)
%c
ロケールに適した日付と時刻の表現
%d
日(10進数表記、01〜31)
%H
時(24時間制、10進数表記、00〜23)
%I
時(12時間制、10進数表記、01〜12)
%j
年内の通算日(10進数表記、001〜366)
%m
月(10進数表記、01〜12)
%M
分(10進数表記、00〜59)
%p
ロケールにおけるAM/PM相当の表現
%S
秒(10進数表記、00〜61)
%U
年内の週番号(日曜を週の始まりとする、00〜53)。新年の最初の日曜日より前の日数は週0として扱われます。
%w
曜日(10進数表記、0が日曜〜6が土曜)
%W
年内の週番号(月曜を週の始まりとする、00〜53)。新年の最初の月曜日より前の日数は週0として扱われます。
%x
ロケールに適した日付の表現
%X
ロケールに適した時刻の表現
%y
世紀なしの年(10進数表記、00〜99)
%Y
世紀を含む年(10進数表記)
%Z
タイムゾーン名(タイムゾーンが存在しない場合は空文字列)
%%
「%」という文字そのものを出力

strftime()を使った具体例

これらの書式指定子は、次のようにstrftime関数の中で組み合わせて使えます。

import datetime
now = datetime.datetime.now()

print("現在の日付と時刻: ")
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print(now.strftime('%H:%M:%S on %A, %B the %dth, %Y'))

実行結果

2017-12-29 12:19:13
12:19:13 on Friday, December the 29th, 2017

1つ目の出力では「年-月-日 時:分:秒」という一般的な形式で表示され、2つ目の出力では曜日や月名を含む読みやすい英語形式で表示されています。このように、書式指定子を組み合わせることで、ログファイル用のタイムスタンプからユーザー向けの表示まで、さまざまな用途に応じた日時フォーマットを柔軟に作成できます。

  1. Pythonでファイルの作成日時・変更日時を取得する方法【Windows/UNIX対応】

    Pythonでファイルのタイムスタンプを扱う場合、OSによって取得方法が異なる点に注意が必要です。この記事では、WindowsとUNIX系システムそれぞれにおけるファイルの作成日時・変更日時の取得方法を解説します。Windowsで作成日時を取得するWindows環境でファイルの作成日時を取得するには、os.path.getctime() 関数を使用します。>>> import os>>> print(os.path.getctime(my_file))1505928271.0689342戻り値はエポック(1970年1月1日0時0分0秒UTC)からの経過秒数で

  2. Pythonでファイルの作成日時と更新日時を取得する方法

    ファイルの作成日時を取得するには、Windows環境では os.path.getctime(file_path) を使用します。ただし、UNIX系システムでは同じ関数を使っても期待した結果が得られません。UNIXでは、この関数はファイルの属性や内容が最後に変更された時刻を返すためです。UNIXベースのシステムで作成日時を取得するには、os.stat() が返すstatオブジェクトの st_birthtime 属性を使用します。 例:Windowsの場合 >>> import os >>> print os.path.getctime(my_file) 150