|
nofuさん こんにちは。
》日付を入力するときに、よく今日より以前、以後の日付を入力する機会が結構多
》くあり、その度にカレンダーを見て曜日を確かめたり、ソフトを立ち上げて曜日を
》確認し、何月何日何曜日という風に入力しています。
以下のものお気に召すかどうか,一度試してみてください。
では, (^^)/~
山紫水明
// ----- Insertdate.mac ---------------------------------------------- //
// 日付を挿入,そのままリターンで当日の日付が入る
$today = rightstr(year, 2) + month + day;
$date = input("6桁で日付入力 (例" + $today + ")", $today);
if(!result)endmacro;
if(result == 0) $date = $today;
#year = val(leftstr($date, 2));
#month = val(midstr($date, 2, 2));
#day = val(rightstr($date, 2));
if(#month > 12 || #month < 1 || #day < 1 || #day > 31){
message"日付に誤りがあります\n" + $date;
endmacro;
}
if(#year < 50) #year = #year + 2000;
else #year = #year + 1900;
#preyear = #year - 1;
#you = (#year + #preyear/4 + #preyear/400 - #preyear/100)%7;
// 元日の曜日計算
if(#year%4 == 0 && (#year%100!= 0 || #year%400 == 0)){
$ym = "31 29 31 30 31 30 31 31 30 31 30 31";
}else{
$ym = "31 28 31 30 31 30 31 31 30 31 30 31";
}
#m = 1;
#yeardays = 0;
while(#m < #month){
#month[#m] = val(midstr($ym, (#m - 1)*3, 2));
#yeardays = #yeardays + #month[#m];
#m = #m + 1;
}
#yeardays = #yeardays + #day;
#you = (#you + #yeardays - 1)%7; // 曜日計算
$youbi = midstr("日月火水木金土", #you * 2, 2);
insert str(#year) + "年" + str(#month) + "月" + str(#day) +
"日" + "(" + $youbi + ")";
endmacro;
// ----------------------------------------------------------- //
|
|