今日が給料日かどうかを判定するPythonスクリプトを作ってみた!

Pocket

皆さんは

給料明細って、どうやってもらってますか?

うちの会社は去年までは一人一人上司から明細書を手渡しでもらってたんですけど(給料は振込み)、今年からは会社HPにアクセスして各自がプリントアウトするようになりました。
プリントアウトしなくてもいいという人もいるみたいだから、会社としては紙代の節約になるのかなぁ?

でもそうなると給料日(給料明細は給料日の前日)であることを忘れてしまうことがあるんですよ。(^^;
そうするとプリントアウトを忘れたりすると、妻から「今日給料明細の日だったよね?」って指摘されて…

なので忘れないように、会社のPCを立ち上げた時に給料明細の日だったら画面に給料明細日であることを表示するPythonスクリプトを作ってみました。

判定方法

うちの会社は、基本的に給料日は25日、給料明細はその前日の24日ですが、24日が会社の休日の場合はその前日、その日も休日なら更にその前日という感じになってます。

なので、会社の休日を判定する関数を作成し、今月の給料明細日が会社の休日に当たるか判断し、当たる場合はその前日はどうかというのを繰り返して当月の給料明細日を決定し、スクリプトを立ち上げた日が給料明細日の場合は画面に表示するようにしてます。

会社の休日判定

うちの会社は基本的に土日祝日が休みですが、これ以外に夏休みと冬休みがあるのと、年によっては土曜出勤が数回ある場合(土曜が休日ではなくなる)があります。

なので、その年の土日祝日のリストを取得して、別途設定した夏休みと冬休み等の休みを追加して、別途設定した土曜出勤日を土日祝日から削除して会社の休日リストを作成してます。

土日祝日のリスト
取得方法は色々あるようですが、APIを使うのは面倒くさかったので、jholiday.pyというモジュールを使ってます。
以下のサイト様が使い方も説明していてわかりやすいと思います。

このサイトのリンクからjholiday.pyをコピペしてもいいですが、以下のリンクからもダウンロードできます。どちらでもお好きな方で。
ダウンロードしたら、このモジュールをPythonista3のsite-packagesに保存して下さい。

▼今回のスクリプトではjholidayで取得した土日祝日リストに、以下のようにplusリストで指定した日付を追加して、minusリストで指定した日付を削除するようにしてます。(今年は土曜出勤はないので空リストになってます)

plusリスト、minusリストの書式
日付は「月/日」をシングルクォーテーション(’)で囲って下さい。
連続する場合は開始日付と終了日付を空白を入れずにハイフン(-)で繋いでシングルクォーテーションで囲って下さい。
また、先程の例にあるように何の日か明記する場合は、日付の前に記載してコロン(:)で繋いでシングルクォーテーションで囲って下さい。

給料明細日の指定
payDayを設定します。
指定した日が休日の場合はその前日、それも休日なら更にその前日という感じで判定して、休日ではなくなった日を返します。

スクリプトのダウンロード

以下のリンクからスクリプトをダウンロードして下さい。

先程説明したようにplusリスト、minusリスト、payDayを指定して下さい。

PC立ち上げで自動起動設定

▼WindowsPCの場合で説明します。
以下のような本スクリプトのバッチファイルを作成し、本スクリプトと同じところに置いて、バッチファイルのショートカットをスタートアップフォルダに入れて下さい。

@echo off
cd /d %~dp0
python getHoliday.py
pause
exit
使ってみる

ここではiPhoneの画面で説明しますが、PCも同様です。
今年の9月は24日が日曜なので、9月22日が給料明細の日になります。

▼今日の日付が9/22として本スクリプトを立ちあげると、給料明細日であることが表示されます。

▼ちなみに、Console画面には今年の会社の休日一覧が表示されます。祝日名や追加した休みが表示されてるのが確認できます。

最後に

いかがでしょうか?
今回のスクリプトが必要な人がどれくらいいるか疑問ではありますが((^^;)、土日祝日を取得したり、そこから休日を追加・削除したりする部分は使い道があると思うので、お好きなように書き換えてお使い下さい。

ちなみに、今回スクリプトはいつものようにPythonista3で作ってて、最初は給料日の表示はuiモジュールのWebViewメソッドを使って以下のようにしてました。

▼この場合だと以下のように表示されます。

でも、uiモジュールってPython3に標準であると思ったらないんですね。完全にPythonista3用に作られてるようで、どこを探しても見当たりませんでした。(T_T)
HTMLの記述を簡単にWebページに表示するモジュールも無さそうでした。

なので、今回のスクリプトは会社のPCで使う前提なので、仕方なく以前GitHubに作ったプレビュー用HTMLにデータを渡す形にしました。(^^;

でも、これで給料明細日を忘れることがなくなるので、ホッとしてます。(^^)
皆さんも使ってみて下さい。

紹介したアプリ
Pythonista 3 3.1
分類: 仕事効率化,教育
価格: ¥1,200 (omz:software)


happyChappy(@happyChappy1115)でした。

Sponsored Link

Posted from するぷろ for iOS.

Pocket

コメントを残す