【PythonのDatetimeライブラリ】日時のフォーマット変換とタイムゾーン操作の具体例とサンプルコード!

※関数の書き方・実行結果に誤りがあるケースがあります。随時修正中です。また誤りに気づかれた方はこちらからご連絡頂きますとめちゃ嬉しいです。

目次

講座の導入文

みんな、今日は「Datetime」っていうPythonのライブラリについて学んでいくで!このライブラリを使うと、日付や時間の操作がめっちゃ楽になるんや。例えば、旅行の計画を立てるときに「何日間滞在するか」とか「出発まで何日あるか」を計算したり、日付を特定のフォーマットに変換したりするのが簡単にできるようになるんや。

イメージしてみてな。君が友達と「来月の何日が空いてる?」って話してるときに、すぐにその日付を計算して教えられたら、めっちゃ便利やろ?そんな風に、Datetimeを使うことで、日付や時間に関する作業がスムーズに進むんや。さあ、早速始めていこう!

① 現在の日時の取得

さて、まずは「現在の日時を取得する」方法を見ていこう!Datetimeライブラリを使うことで、簡単に今の日時を知ることができるんや。これを使って、プログラムの中で現在の時間をチェックしたり、ログを記録したりすることができるで。

まずは、必要なライブラリをインポートして、現在の日時を取得するコードを書いてみよう!

import datetime

# 現在の日時を取得
now = datetime.datetime.now()

print("現在の日時:", now)

このコードを実行すると、今の日時が表示されるんや。これで、日時を管理する準備が整ったな!次は、日付や時間の演算について学んでいこう!

② 日付と時間の演算

次は「日付と時間の演算」についてや!Datetimeライブラリを使うと、日付や時間の加算や減算が簡単にできるんや。これを使えば、例えば「明日の日時は何時か?」とか「5日後は何日か?」をすぐに計算できるようになるで。

まずは、日付に日数を加算する方法を見てみよう!

import datetime

# 現在の日時を取得
now = datetime.datetime.now()

# 5日後の日付を計算
five_days_later = now + datetime.timedelta(days=5)

print("現在の日時:", now)
print("5日後の日時:", five_days_later)

このコードを実行すると、現在の日時と5日後の日時が表示されるんや。逆に、日付から日数を引くこともできるで。例えば、5日前の日付を計算する場合は、こう書けばええんや!

# 5日前の日付を計算
five_days_ago = now - datetime.timedelta(days=5)

print("5日前の日時:", five_days_ago)

これで、日付や時間の演算ができるようになったな!次は、日付のフォーマット変換について学んでいこう!

③ 日付のフォーマット変換

次は「日付のフォーマット変換」や!Datetimeライブラリを使うと、日付や時間を好きな形式に変換できるんや。これができると、例えば「YYYY-MM-DD」形式で表示したり、「MM/DD/YYYY」形式にしたり、いろんな用途に合わせた表示ができるで。

まずは、現在の日時を特定のフォーマットに変換する方法を見てみよう!

import datetime

# 現在の日時を取得
now = datetime.datetime.now()

# 日付を好きなフォーマットに変換
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")

print("フォーマットされた日時:", formatted_date)

このコードを実行すると、現在の日時が「YYYY-MM-DD HH:MM:SS」形式で表示されるんや。strftimeメソッドを使うことで、フォーマットを自由に指定できるで。いくつかのフォーマット指定子を紹介するで!

  • %Y: 年(4桁)
  • %m: 月(01-12)
  • %d: 日(01-31)
  • %H: 時間(00-23)
  • %M: 分(00-59)
  • %S: 秒(00-59)

例えば、日付を「月/日/年」の形式にしたい場合は、こんな風に書けばええんや。

# 月/日/年形式に変換
formatted_date_us = now.strftime("%m/%d/%Y")

print("フォーマットされた日時(USスタイル):", formatted_date_us)

これで、日付のフォーマット変換ができるようになったな!次は、タイムゾーンの操作について学んでいこう!

④ タイムゾーンの操作

さあ、次は「タイムゾーンの操作」についてや!Datetimeライブラリを使うと、タイムゾーンを考慮した日時の扱いができるんや。これができると、世界中の異なるタイムゾーンの日時を簡単に管理できるで。

まずは、タイムゾーンを扱うために、pytzというライブラリをインストールしておく必要があるんや。Google Colabでは、以下のようにしてインストールできるで。

!pip install pytz

インストールが終わったら、次はタイムゾーンを指定して現在の日時を取得してみよう!

import datetime
import pytz

# UTCタイムゾーンの取得
utc_zone = pytz.utc

# 現在のUTC日時を取得
now_utc = datetime.datetime.now(utc_zone)

print("現在のUTC日時:", now_utc)

# 日本のタイムゾーンを設定
tokyo_zone = pytz.timezone('Asia/Tokyo')

# 現在の日本時間を取得
now_tokyo = now_utc.astimezone(tokyo_zone)

print("現在の日本時間:", now_tokyo)

このコードを実行すると、UTCの現在の日時と、日本時間の現在の日時が表示されるんや。astimezoneメソッドを使うことで、他のタイムゾーンの日時に変換できるで。

もし他のタイムゾーンを使用したい場合は、pytzのタイムゾーン名を指定すればええ。例えば、ニューヨークのタイムゾーンを使いたい場合は、'America/New_York'を指定すればOKや。

これで、タイムゾーンの操作もできるようになったな!次は、日付の比較と期間の計算について学んでいこう!

⑤ 日付の比較と期間の計算

さて、最後は「日付の比較と期間の計算」や!Datetimeライブラリを使うと、日付同士を比較したり、日付の差を計算したりすることができるんや。これができると、例えば「2つの日付の間に何日あるか?」とか「ある日から特定の日までの期間は?」を簡単に知ることができるで。

まずは、2つの日付を比較してみよう!

import datetime

# 2つの日付を設定
date1 = datetime.datetime(2023, 10, 1)
date2 = datetime.datetime(2023, 10, 10)

# 日付の比較
if date1 < date2:
    print("date1はdate2より前の日付や。")
elif date1 > date2:
    print("date1はdate2より後の日付や。")
else:
    print("date1とdate2は同じ日付や。")

このコードを実行すると、どちらの日付が前か後かがわかるで。<>を使って、日付を比較できるんや。

次に、2つの日付の間の期間を計算してみよう!

# 2つの日付の差を計算
period = date2 - date1

print("date1とdate2の間の日数:", period.days)

このように、日付同士の引き算をすることで、期間を簡単に計算できるんや。timedeltaオブジェクトが返ってくるから、days属性を使って日数を取得できるで。

もし、日付から特定の日までの期間を計算したい場合も、同じようにすればOKや!たとえば、今から10日後の日付を計算して、その日までの期間を知りたい場合は、次のように書くことができるで。

# 現在の日時を取得
now = datetime.datetime.now()

# 10日後の日付を計算
ten_days_later = now + datetime.timedelta(days=10)

# 現在の日付から10日後までの期間を計算
period_to_future = ten_days_later - now

print("現在から10日後までの期間(日数):", period_to_future.days)

これで、日付の比較と期間の計算ができるようになったな!これまでの内容を活かして、いろいろな日付の操作ができるようになったはずやで!次のステップに進む準備はできたかな?

【PythonのDatetimeライブラリ】日時のフォーマット変換とタイムゾーン操作の具体例とサンプルコード!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次