計算してみる
パッチチューズデーの仕様
パッチチューズデーの仕様は以下の通りです。
プログラム
import datetime, calendar, pytz def get_day_of_nth_dow(year, month, nth=2, dow=1): first_dow, n = calendar.monthrange(year, month) day = 7 * (nth - 1) + (dow - first_dow) % 7 + 1 return day if __name__ == '__main__': year=2025 # 2025年 print('-' * 49) title = '|' + ' ' * 4 + '太平洋時間(PST)' + ' ' * 4 + \ '|' + ' ' * 5 + '日本時間(JST)' + ' ' * 5 + '|' print(title) print('-' * 49) for month in range(1, 13): # 第2火曜日の日付の取得 day = get_day_of_nth_dow(year, month) naive_pst = datetime.datetime(year, month, day, 10) # 太平洋標準時(PST)の計算 pst = pytz.timezone('US/Pacific') aware_pst = pst.localize(naive_pst) # 日本標準時(JST)の計算 jst = pytz.timezone('Asia/Tokyo') aware_jst = aware_pst.astimezone(jst) print("| {} | {} |".format(aware_pst.strftime("%Y/%m/%d(%a) %H:%M"), aware_jst.strftime("%Y/%m/%d(%a) %H:%M"))) print('-' * 49)
結果
------------------------------------------------- | 太平洋時間(PST) | 日本時間(JST) | ------------------------------------------------- | 2025/01/14(Tue) 10:00 | 2025/01/15(Wed) 03:00 | | 2025/02/11(Tue) 10:00 | 2025/02/12(Wed) 03:00 | | 2025/03/11(Tue) 10:00 | 2025/03/12(Wed) 02:00 | | 2025/04/08(Tue) 10:00 | 2025/04/09(Wed) 02:00 | | 2025/05/13(Tue) 10:00 | 2025/05/14(Wed) 02:00 | | 2025/06/10(Tue) 10:00 | 2025/06/11(Wed) 02:00 | | 2025/07/08(Tue) 10:00 | 2025/07/09(Wed) 02:00 | | 2025/08/12(Tue) 10:00 | 2025/08/13(Wed) 02:00 | | 2025/09/09(Tue) 10:00 | 2025/09/10(Wed) 02:00 | | 2025/10/14(Tue) 10:00 | 2025/10/15(Wed) 02:00 | | 2025/11/11(Tue) 10:00 | 2025/11/12(Wed) 03:00 | | 2025/12/09(Tue) 10:00 | 2025/12/10(Wed) 03:00 | -------------------------------------------------
まとめ
ということで、2025年のパッチチューズデーを計算しました。
日本では、初回は第3水曜日の1/15(水) 午前3時となります。