Pythonの日付フォーマットの完全ガイド

python
記事内に広告が含まれています。

Pythonでの日付操作は、多くのプログラムやデータ処理において必要不可欠です。

特に、日付の表示形式を変更する「フォーマット」のスキルは、データを見やすく整理するために重要です。

本記事では、Pythonでの日付フォーマットに関する基本から応用まで、具体例を交えてわかりやすく解説します。

日付をフォーマットする方法や、その応用例について学び、効率的なデータ処理を目指しましょう。

DMM WEBCAMP
  • 未経験者向けプログラミングスクール
  • 現役エンジニアがしっかりサポート
  • 卒業後も安心の転職・副業サポート

Pythonでの基本的な日付フォーマット方法

Pythonでは、標準ライブラリのdatetimeモジュールを使用して、日付をさまざまなフォーマットに変換できます。

これにより、日付の表示形式を調整したり、異なるフォーマットで日付を処理したりすることが可能です。

datetimeモジュールを使用すると、簡単に日付を取得し、任意のフォーマットで表示できます。

まずは基本的な使い方から見ていきましょう。

日付を文字列にフォーマットする

Pythonのdatetimeモジュールを使って、日付を任意のフォーマットに変換できます。

以下の例では、現在の日付を取得し、それを年/月/日形式でフォーマットしています。

from datetime import datetime

now = datetime.now()
formatted_date = now.strftime('%Y/%m/%d')
print(formatted_date)

上記のコードでは、strftime関数を使って日付を「年/月/日」形式にフォーマットしています。

別のフォーマットで表示する

フォーマットの形式は自由にカスタマイズ可能です。

たとえば、月/日/年形式に変更したい場合は、フォーマット文字列を変えるだけで簡単に実現できます。

formatted_date = now.strftime('%m/%d/%Y')
print(formatted_date)

この例では、月/日/年形式で日付が表示されます。

時間情報を追加する

時間情報もフォーマットに含めることが可能です。

次の例では、時、分、秒を含むフォーマットで日付を表示します。

formatted_date_time = now.strftime('%Y-%m-%d %H:%M:%S')
print(formatted_date_time)

このコードを使うことで、日付と時間が結合された形式で表示されます。

CodeCamp
  • 現役エンジニアからスキルを学べる
  • 満足度は驚異の97.4%
  • 300社以上のIT企業で研修に導入
  • 毎日9時〜21時まで、無料カウンセリングを開催中!

カスタマイズ可能な日付フォーマット

Pythonでは、日時のフォーマットを自由にカスタマイズすることが可能です。

日付情報をさまざまな形式に整えることができるため、用途に応じたフォーマットを作成できます。

フォーマットに使える主なコードを学び、より柔軟な表示形式を試してみましょう。

フォーマットのコード一覧

以下に、strftimeで使えるフォーマットコードの一部を紹介します。

これらを組み合わせて、カスタマイズしたフォーマットを作成することができます。

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

これらのコードを覚えることで、さまざまな日時表示が可能になります。

曜日を含めた日付のフォーマット

曜日を表示したい場合、%Aを使用して、フルスペルの曜日名をフォーマットに含めることができます。

formatted_date = now.strftime('%A, %Y-%m-%d')
print(formatted_date)

このコードでは、曜日と日付が結合された形式で表示されます。

短縮形式の曜日を使ったフォーマット

曜日を短縮して表示したい場合は、%aを使用します。

これにより、日月火水木金土といった短縮表記が可能です。

formatted_date = now.strftime('%a, %Y-%m-%d')
print(formatted_date)

このコードでは、短縮形式の曜日と日付が表示されます。

【リモートワークには必須】
キャリアに合わせてお得に光回線を利用しよう
ドコモ光
開通後、最短一ヶ月で35,000円のキャッシュバック!
 
auひかり
難しい条件一切なしで、最大12,7000円のキャッシュバック!
 
ソフトバンク光
高額キャッシュバックや豪華特典をお届け!

タイムゾーンを扱う日付フォーマット

グローバルなアプリケーションでは、タイムゾーンを意識した日時処理が不可欠です。

Pythonでは、pytzライブラリを使って、タイムゾーンに対応した日時のフォーマットが可能です。

次に、タイムゾーンを扱う方法について学びましょう。

pytzライブラリのインストール

まず、pytzライブラリをインストールします。

以下のコマンドでインストールを行います。

pip install pytz

インストール後、タイムゾーンを扱う準備が整います。

タイムゾーン付きの日付の取得

次に、指定したタイムゾーンでの日時を取得し、それをフォーマットします。

from datetime import datetime
import pytz

tz = pytz.timezone('Asia/Tokyo')
now = datetime.now(tz)
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S %Z')
print(formatted_date)

このコードでは、タイムゾーン「Asia/Tokyo」に対応した日時が表示されます。

タイムゾーンを変更する

別のタイムゾーンに切り替える場合は、異なるタイムゾーンを指定するだけです。

たとえば、ニューヨークの時間を取得する場合は、'America/New_York'を使用します。

tz = pytz.timezone('America/New_York')
now = datetime.now(tz)
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S %Z')
print(formatted_date)

このコードにより、指定したタイムゾーンの日時が取得できます。

プログラミングスクール受講時には教育訓練給付制度を利用することで、受講料の最大80%の給付を受けることが可能です。

Pythonの日付フォーマットを使った応用例

Pythonでの日付フォーマットは、単なる表示形式の変更だけでなく、さまざまなデータ処理にも応用できます。

ここでは、より高度な日付フォーマットの応用例を紹介します。

これらの例を参考に、実際のプロジェクトで活用してみてください。

日付の比較処理

フォーマットした日付を使って、日付同士を比較することができます。

たとえば、ある日時が別の日時よりも後かどうかを確認するコードは次の通りです。

from datetime import datetime

date1 = datetime.strptime('2023-10-15', '%Y-%m-%d')
date2 = datetime.strptime('2023-11-01', '%Y-%m-%d')

if date1 < date2:
    print('date1 is before date2')

このコードでは、date1date2よりも前の日付かどうかを確認しています。

ファイル名に日付を追加する

生成したファイル名に日時を含めることで、重複を避けたり、作成日時を記録したりすることが可能です。

以下は、ファイル名に現在の日付を含める例です。

filename = 'report_' + now.strftime('%Y%m%d') + '.txt'
print(filename)

このコードでは、ファイル名に日付を付与して一意の名前を生成しています。

ログ出力に日時を追加する

ログに日時を追加することで、実行時の状況を記録することができます。

以下は、ログメッセージに日時を含める例です。

log_message = now.strftime('%Y-%m-%d %H:%M:%S') + ' - Task completed'
print(log_message)

このコードでは、実行時間とメッセージが組み合わされたログが生成されます。

techgym
  • 20000人が学んだpythonの教材
  • 正しい情報をまとめて入手
  • 様々なゲームを作成しながら楽しくpythonが身に付く
  • 自主学習派はこれ一択!

今なら1年間有効なzoomサポート付き!

まとめ: Pythonの日付フォーマットを使いこなそう

Pythonでの日付フォーマットは非常に柔軟で、用途に応じた多様な形式で日時を扱うことが可能です。

本記事では、基本的なフォーマット方法から、タイムゾーンを含めた応用例までを学びました。

実際の開発においては、フォーマットを適切に使いこなし、効率的なデータ処理を目指しましょう。

【給付金が受けられる】おすすめプログラミングスクール!
  • DMM WEBCAMP
    転職成功率98%&離職率2.3%
    転職できなければ全額返金DMM.comグループならで非公開求人も多数
  • テックアカデミー
    【転職保証】受講生の100%が内定獲得!9割以上が未経験からスタート!LINEヤフー監修&万全サポート
  • Aidemy Premium
    【給付金利用の相談歓迎】AI・データ分析学ぶならAidemy Premium
  • ウズウズカレッジ
    初心者・文系出身者でもOK、IT未経験からの専門的な就業サポート

コメント

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