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

Pythonで書式を指定して日付・時刻を取得する方法(strftimeの使い方)

Pythonでは、datetimeモジュールに含まれるstrftime関数を使うことで、任意の形式に整形された日付や時刻を簡単に取得できます。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]
%m月(10進数表記)[01〜12]
%M分(10進数表記)[00〜59]
%pAM/PMに相当するロケールの表現
%S秒(10進数表記)[00〜61]
%U年の週番号(日曜を週の始まりとする)[00〜53]。新年の最初の日曜日より前の日数は第0週として扱われます。
%w曜日を数値で表したもの[0(日曜)〜6(土曜)]
%W年の週番号(月曜を週の始まりとする)[00〜53]。新年の最初の月曜日より前の日数は第0週として扱われます。
%xロケールに適した日付の表現
%Xロケールに適した時刻の表現
%y世紀を含まない年(下2桁)[00〜99]
%Y世紀を含む年(4桁)
%Zタイムゾーンの名前(タイムゾーンが存在しない場合は空文字列)
%%リテラルの「%」文字そのもの

これらのディレクティブを組み合わせることで、「YYYY-MM-DD HH:MM:SS」のような定番の形式から、日本語表記を含む独自の形式まで、自由に日時を整形できます。

使用例

実際に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つ目は英語圏でよく使われる「曜日や月名を含む形式」で表示しています。このように、ディレクティブを組み合わせるだけで柔軟な書式設定が可能です。

補足:逆方向の変換にはstrptimeを使う

なお、文字列からdatetimeオブジェクトへの変換(パース)を行いたい場合は、同じくdatetimeモジュールのstrptime関数を使用します。strftime(オブジェクト→文字列)とstrptime(文字列→オブジェクト)は対になる関係にあるため、セットで覚えておくと便利です。

  1. JavaScriptで現在の日付と時刻を取得する方法

    JavaScriptで現在の日付と時刻を取得するには、Date()メソッドを使用します。Date()メソッドは呼び出し時点の日付と時刻を文字列として返します。特別なオブジェクトを生成することなく、そのまま呼び出せる手軽なメソッドです。サンプルコード以下のコードを実行すると、現在の日付と時刻を画面に表示できます。<html>    <head>       <title>JavaScript Date Method</title>    </head>  

  2. Swiftで現在の日付と時刻を取得する方法(UTC・ローカル時刻対応)

    日付や時刻の処理は、プログラミング初心者がつまずきやすいポイントのひとつです。ほとんどのアプリでは現在の日付を取得する必要があり、予約管理、ログ記録、期限チェックなど、多くの機能がこの情報に依存しています。 本記事では、Swiftを使ってiOSアプリで現在の日付と時刻を取得する基本的な方法を解説します。具体的には、UTC(協定世界時)の時刻と、デバイスのタイムゾーンに基づく現地時刻の2パターンを紹介します。 UTC(協定世界時)の現在時刻を取得する UTCの時刻を取得したい場合は、Playgroundに以下のコードを貼り付けて実行してください。わずか2行で完了します。 let utcDate