Microsoftの月例セキュリティ更新プログラムのリリース日時について
Microsoftの月例セキュリティ更新プログラムは「米国太平洋標準時の毎月第2火曜日の午前10時」にリリースされる。
全世界で同じタイミングらしい。
<参考>
blogs.windows.com
日本時間ではいつなのか?
米国太平洋標準時は「UTC-8」、日本標準時は「UTC+9」なので、日本時間では「第2水曜日もしくは第3水曜日の午前2時もしくは午前3時」となる。
日本時間で第2水曜日となるのか、第3水曜日となるのかはその月によって異なります。
日本時間で午前2時となるのか、午前3時となるのかはアメリカがサマータイムなのかによります。
※サマータイムについて
アメリカでは現地時間の「3月第2日曜日午前2時〜11月第1日曜日午前2時」がサマータイムとなり、1時間早まる。
リリース日時を計算してみる
2023年のリリース日時を計算してみる。
プログラム
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=2023 # 2023年 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) | ------------------------------------------------- | 2023/01/10(Tue) 10:00 | 2023/01/11(Wed) 03:00 | | 2023/02/14(Tue) 10:00 | 2023/02/15(Wed) 03:00 | | 2023/03/14(Tue) 10:00 | 2023/03/15(Wed) 02:00 | | 2023/04/11(Tue) 10:00 | 2023/04/12(Wed) 02:00 | | 2023/05/09(Tue) 10:00 | 2023/05/10(Wed) 02:00 | | 2023/06/13(Tue) 10:00 | 2023/06/14(Wed) 02:00 | | 2023/07/11(Tue) 10:00 | 2023/07/12(Wed) 02:00 | | 2023/08/08(Tue) 10:00 | 2023/08/09(Wed) 02:00 | | 2023/09/12(Tue) 10:00 | 2023/09/13(Wed) 02:00 | | 2023/10/10(Tue) 10:00 | 2023/10/11(Wed) 02:00 | | 2023/11/14(Tue) 10:00 | 2023/11/15(Wed) 03:00 | | 2023/12/12(Tue) 10:00 | 2023/12/13(Wed) 03:00 | -------------------------------------------------