たれながし.info

とあるITエンジニアの備忘録

2024年のパッチチューズデー(Patch Tuesday)


目的

パッチチューズデーを求めるPythonのプログラムを以前作成しました。
もう12月なので、そのプログラムで来年2024年のパッチチューズデーを求めてみます。

tarenagashi.hatenablog.jp

パッチチューズデー

Pythonプログラム

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=2024 # 2024年

    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(f'| {aware_pst.strftime("%Y/%m/%d(%a) %H:%M")} | {aware_jst.strftime("%Y/%m/%d(%a) %H:%M")} |')
 
    print('-' * 49)

実行結果

-------------------------------------------------
|    太平洋時間(PST)    |     日本時間(JST)     |
-------------------------------------------------
| 2024/01/09(Tue) 10:00 | 2024/01/10(Wed) 03:00 |
| 2024/02/13(Tue) 10:00 | 2024/02/14(Wed) 03:00 |
| 2024/03/12(Tue) 10:00 | 2024/03/13(Wed) 02:00 |
| 2024/04/09(Tue) 10:00 | 2024/04/10(Wed) 02:00 |
| 2024/05/14(Tue) 10:00 | 2024/05/15(Wed) 02:00 |
| 2024/06/11(Tue) 10:00 | 2024/06/12(Wed) 02:00 |
| 2024/07/09(Tue) 10:00 | 2024/07/10(Wed) 02:00 |
| 2024/08/13(Tue) 10:00 | 2024/08/14(Wed) 02:00 |
| 2024/09/10(Tue) 10:00 | 2024/09/11(Wed) 02:00 |
| 2024/10/08(Tue) 10:00 | 2024/10/09(Wed) 02:00 |
| 2024/11/12(Tue) 10:00 | 2024/11/13(Wed) 03:00 |
| 2024/12/10(Tue) 10:00 | 2024/12/11(Wed) 03:00 |
-------------------------------------------------

結論

ということで、初回は1/10(水)となりました。※日本時間

多くの会社は1/4(木)が年の始業だと思います。1/8(月)は成人の日で休みなので、1/10(水)は4営業日目です。
年始4営業日目にパッチリリースとか、人によってはツライですね。
とはいえ、今年2023年も1/11(水)(※5営業日目)だったのでそんなに変わりませんが…

あと、プログラムで求めるまでもなく、Microsoftがリリーススケジュールを公開してました。
プログラムで求めた結果と相違は無かったです。
msrc.microsoft.com

パッチチューズデーには余り関係ありませんが、2024年はうるう年で2月29日が存在します。
営業日が1日増えても月給制、年俸制の人は給料が変わりませんから、それもツライなとカレンダー見て思いました(私も月給制)。