第何ほげ曜日を求める
最終日曜日がくせもの、と書かれているブログを見たので、書いてみる。
簡単だよねぇ?
最終日曜日とかを求めるUWSCスクリプト
ついでに第何ほげ曜日も求めるという役割もあったんだろうけど、そのブログでは、月内のほげ曜日を全て列挙してた。
でも、最終ほげ曜日が欲しいなら、こうじゃないかな?
GETTIME(0,b) // 基準日の日付収集(当日なら「0,b」不要)。月末算出のため m=G_TIME_MM d=(G_TIME_YY*100+m+1+(m=12)*88)*100+1 GETTIME(-1,d) // 翌月の前日=月末日の曜日取得 w=w-G_TIME_WW GETTIME(w-1-(w>0)*7,d) // 月末日の曜日からさらに戻る
これで、G_TIME_DDとかに日付が入ってます。
bが対象年月(月内の何日でも可)、wが曜日(UWSCなので、0:日曜〜6:土曜)
2013/5月の最終水曜日なら、
b=20130521 // 2013年5月なら何日でも良い w=3 // 水曜日
で、上のスクリプトを呼ぶだけ。
関数化しても良いね。
当月末日を求める方法は、Linersさんが公式掲示板で書かれていたもの。