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

Pythonで現在の日付と時刻を取得する方法|datetimeモジュールとstrftimeの使い方

はじめに

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

datetimeモジュールで現在日時を取得する基本例

import datetime
now = datetime.datetime.now()
print("Current date and time: ")
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年内の週番号(日曜日を週の始まりとする)を10進数で表したもの [00,53]。新年に入ってから最初の日曜日までの日々は第0週として扱われます。
%w曜日を10進数で表したもの [0(日曜日)〜6(土曜日)]
%W年内の週番号(月曜日を週の始まりとする)を10進数で表したもの [00,53]。新年に入ってから最初の月曜日までの日々は第0週として扱われます。
%xロケールに適した日付の表現
%Xロケールに適した時刻の表現
%y世紀を除いた年(下2桁)を10進数で表したもの [00,99]
%Y世紀を含めた年を10進数で表したもの
%Zタイムゾーンの名称(タイムゾーンが存在しない場合は空文字列)
%%リテラルの「%」文字そのもの

strftimeを使った書式指定の具体例

これらのディレクティブは、以下のようにstrftime関数の中で組み合わせて使用できます。

import datetime
now = datetime.datetime.now()
print("Current date and time: ")
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

まとめ

Pythonで現在の日付と時刻を取得するには、datetimeモジュールのnow()関数を使うのが最もシンプルです。さらにstrftime()を活用すれば、「YYYY-MM-DD HH:MM:SS」のような定番形式から、曜日や月名を含む読みやすい形式まで、柔軟にカスタマイズできます。ログ出力やファイル名へのタイムスタンプ付与など、さまざまな場面で役立つので、ぜひ覚えておきましょう。

  1. Androidで現在の日時を取得する方法【SimpleDateFormatの使い方を解説】

    はじめに Oracle公式ドキュメントによると、SimpleDateFormatはロケールに依存した形で日付のフォーマット(表示)と解析(パース)を行うための具象クラスです。本記事では、このクラスを使ってAndroidアプリ内で現在の日付と時刻を取得し、画面に表示する方法を解説します。 まず、以下のようにJavaのSimpleDateFormatクラスとDateクラスをインポートします。 import java.text.SimpleDateFormat; import java.util.Date; 実装手順 ステップ1:新規プロジェクトの作成 Android Studioを起動し、「Fil

  2. 【Android開発】現在の日付と時刻を取得して画面に表示する方法を解説

    このチュートリアルでは、Androidアプリで現在の日付と時刻を取得し、画面に表示する方法を段階的に解説します。ボタンをタップすると、フォーマットされた日時がTextViewに表示されるシンプルなサンプルアプリを作成します。手順1:新しいプロジェクトを作成するAndroid Studioを開き、メニューから「File」→「New Project」を選択して、必要な情報を入力し、新しいプロジェクトを作成します。テンプレートは「Empty Activity」を選んでおくとスムーズです。手順2:レイアウトファイル(activity_main.xml)を編集するres/layout/activity_