【Pythonスクリプト改善】未来時刻計算ツールに曜日を追加して、もっと分かりやすく!strftimeフォーマット術 📅

こんにちは! Pythonプログラミング探検隊、隊長のPythonistaです! 先日公開した「Pythonで作る未来時刻計算ツール」の記事は、お楽しみいただけましたでしょうか? 様々な形式の時間を入力して未来の時刻を計算できる、便利なツールが作れましたね。

さて、実際にツールを使ってみると、こんな風に思いませんでしたか?

未来の時刻: 2025-07-28 15:40:30

「日付は分かるけど、これって何曜日だっけ…?」

そうなんです。曜日が分からないと、意外と不便ですよね。そこで今回は、このスクリプトに簡単な改良を加えて、日付と一緒に曜日も表示できるようにパワーアップさせます! この改善を通して、Pythonのdatetimeオブジェクトを、思い通りの書式で文字列に変換するstrftimeメソッドの強力な使い方をさらに深掘りしていきましょう。


1. 改善のポイント:strftime()メソッドと書式化コード

前回のスクリプトで、日時を人間が読みやすい文字列に変換するために、私たちはstrftime()メソッドを使いました。

# 以前のコード
now = datetime.now()
print(f"現在時刻  : {now.strftime('%Y-%m-%d %H:%M:%S')}")

この'%Y-%m-%d %H:%M:%S'という部分が、「どのような書式で表示するか」を指定する**書式化文字列**です。%Yが4桁の年に、%mが2桁の月に置き換えられる、といったルールがありましたね。

そして、この書式化コードには、もちろん曜日を表示するためのコードも用意されています!


2. 曜日を追加する「魔法のコード」:%a%A

曜日を表示するには、主に以下の2つの書式化コードを使います。

  • %a: 曜日の**短縮形**(英語なら Mon, Tue...、日本語環境なら , ...)に置き換えられます。
  • %A: 曜日の**完全な形**(英語なら Monday, Tuesday...、日本語環境なら 月曜日, 火曜日...)に置き換えられます。

今回は、表示がコンパクトな%aを使って、(月)のように曜日を括弧で囲んで表示してみましょう。やり方は非常に簡単で、元の書式化文字列に(%a)を追加するだけです。

変更前:

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

変更後:

now.strftime('%Y-%m-%d (%a) %H:%M:%S') # (%a) を追加!

たったこれだけです!これで、日付の隣に曜日が表示されるようになります。

ちなみに、他にも便利な日付・時刻関連の書式化コードがたくさんあります。

コード 意味 表示例
%Y 西暦(4桁) 2025
%y 西暦(下2桁) 25
%m 月(01-12) 06
%B 月のフルネーム(英語) June
%b 月の短縮形(英語) Jun
%d 日(01-31) 08
%A 曜日のフルネーム(英語) Sunday
%a 曜日の短縮形(英語) Sun
%H 時(24時間表記, 00-23) 21
%I 時(12時間表記, 01-12) 09
%p 午前/午後 (AM/PM) PM
%M 分(00-59) 05
%S 秒(00-59) 30

3. スクリプトの更新版(完成コード)


4. 実行結果の比較

この改良版スクリプトを実行すると、出力が格段に分かりやすくなります。

改善前:

現在時刻  : 2025-06-23 11:00:00
経過時間  : 1 day, 12:00:00
未来の時刻: 2025-06-24 23:00:00

改善後:

現在時刻  : 2025-06-23 (Mon) 11:00:00
経過時間  : 1 day, 12:00:00
未来の時刻: 2025-06-24 (Tue) 23:00:00

一目で曜日がわかるようになり、ぐっと実用的になりましたね!


まとめ:小さな改善が、使いやすさを大きく変える

今回は、既存のスクリプトにほんの少し手を加えて、曜日表示機能を追加しました。

  • strftime()メソッドの書式化文字列に%a(曜日の短縮形)を追加するだけ、という簡単な変更でした。
  • %A(フルネーム)や%B(月の名前)など、他の書式化コードを使えば、さらに表示をカスタマイズできることも学びました。

プログラミングでは、このように小さな改善を積み重ねていくことで、プログラムの使いやすさ(ユーザビリティ)を大きく向上させることができます。「もっとこうだったら便利なのに」と感じたら、ぜひ今回のように改善に挑戦してみてください。その試行錯誤が、あなたのスキルをさらに高めてくれるはずです!

その他の投稿はこちら

コメント

このブログの人気の投稿

タイトルまとめ

これで迷わない!WindowsでPython環境構築する一番やさしい方法 #0

【Python標準ライブラリ完結!】11の冒険をありがとう!君のPython力が飛躍する「次の一歩」とは? 🚀