先日の「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では(修正)ユリウス通日が使えるので、それを使って曜日を求めることもできます。該当日の修正ユリウス日を7で割り、余りを求める。余りが0より小さい場合は7を加える。下記の換算表により曜日に変換する。これは本質的にはツェラーの公式と同等である。Wikipediaとのことです。これをGlaejaで表すと$yyyyMM011200$@p@mjd@x@floor@x@7@p@mod@x@.0@P@となります。「.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@はたしてこれらが役に立つのかどうかはわかりませんが、そんなところで。TwitterHomeブログホーム画面カスタマイズチュートリアルGlaejaで指定日の曜日を求めるorefolderOREFOLDER編集長。巡り合わせから、このサイト1本で生活してる氷河期世代の一人。ガジェットに限らず広く浅く様々なものに興味があります。