Glaejaで指定日の曜日を求める

|

先日の「Glaejaで1ヶ月表示のカレンダーを作る」の中で、その月の1日の曜日を調べる必要があり、以下のようなコードを書きました。

$f$@p@8@p@+@x@$d$@p@-@x@$d$@p@7@p@/@x@floor@x@7@p@*@x@+@x@7@p@mod@x@gcal@Q@

これは以下の公式にそって書かれたものです。

1日の曜日=(今日の曜日+8-今日の日付+7×(今日の日付を7で割った正数))を7で割った剰り

が、よくよく考えればGlaejaでは(修正)ユリウス通日が使えるので、それを使って曜日を求めることもできます。

修正ユリウス通日から曜日を求めよう

Wikipediaによれば

七曜日の求め方
該当日の修正ユリウス日を7で割り、余りを求める。余りが0より小さい場合は7を加える。下記の換算表により曜日に変換する。これは本質的にはツェラーの公式と同等である。

修正ユリウス日による曜日の換算表
余り 0 1 2 3 4 5 6
曜日

ユリウス通日 – Wikipedia

とのことです。
これをGlaejaで表すと

$yyyyMM011200$@p@mjd@x@floor@x@7@p@mod@x@.0@P@

となります。
「$yyyyMM011200$@p@」で今月1日12時(201401011200)をスタックに積み
「mjd@x@」で修正ユリウス通日に返還し、
「floor@x@」で切り下げで整数化し、
「7@p@mod@x@」で7で割った余りを求め、
「.0@P@」でそれを表示しています。

ウィジェット変数gcalに納める場合は

$yyyyMM011200$@p@mjd@x@floor@x@7@p@mod@x@gcal@Q@

となります。最初のものに比べてはるかに短くなりましたね。ただ、数字と曜日の関係は変わってしまっているので、そこは注意が必要です。

応用

ちょっと応用して、いろんな日の曜日(の数字)を求めてみましょう。

今月末日の曜日

$yyyyMMl1200$@p@mjd@x@floor@x@7@p@mod@x@.0@P@

先月1日の曜日

$yyyyMM011200$@p@1000000@p@-@x@mjd@floor@x@x@7@p@mod@x@.0@P@

先月末日の曜日

$yyyyMM011200$@p@10000@p@-@x@mjd@x@floor@x@7@p@mod@x@.0@P@

来月1日の曜日

$yyyyMM011200$@p@1000000@p@+@x@mjd@x@floor@x@7@p@mod@x@.0@P@

来月末日の曜日

$yyyyMMl1200$@p@10000@p@+@x@mjd@x@floor@x@7@p@mod@x@.0@P@

今月末日の曜日を英語で

$yyyyMMl1200$@p@mjd@x@floor@x@7@p@mod@x@Wed,Thu,Fri,Sat,Sun,Mon,Tue@m@

はたしてこれらが役に立つのかどうかはわかりませんが、そんなところで。

Random Posts

第5回ホーム画面カスタマイズ定期コンテスト 投票結果発表! 1位は「落ち着いた雰囲気のホーム画面 Montserrat」
USBケーブルでもオシャレしたい!CHOETECHのカラフルなUSB Type-C プレミアムTPE ケーブル
Seven Time:無料で7つのスタイルを持ち、簡単なカスタマイズ可能な時計ウィジェット
Quote Widget for Android : 豊富なフォントで偉人の名言を表示するウィジェット
第3回ホーム画面カスタマイズ定期コンテスト開催のお知らせ
2017年に買った・手に入れたスマホや周辺機器:振り返ればいろいろあるがいまいち消化不良
FREETELのスマートコミコミ+がやっぱりわけわからなくて近寄りたくない
MSLバッテリーウィジェット:AIでバッテリーが指定数値まで減る時間を表示するウィジェット
格安SIMの高速通信オンオフをクイック設定パネルから切り替える方法 (mineo・UQ mobile・OCN)
Pixel Pill Widget (Pro):Google Pixelの検索ウィジェットそっくりでカスタマイズもできるウィジェット
BlackBerry KEY2 レポート:BOWのアンチグレアタイプ画面保護フィルムは悪くないけど微妙
アプリ不要でQRコードを読み取る方法-Now on TapとカメラだけでOK
マグネット式でスマホを簡単充電「dodocool USB Type-C ケーブル」レビュー
KLWPで週の始まりの曜日の変更に対応した週間カレンダーを作る
BLUBOO S3 レビュー:8500mAhの大容量バッテリー搭載スタミナスマートフォン