// Copyright (c) 1999 M.Inamori,All rights reserved. // Coded 9/1/99 // // lastday() // // 指定した月の最後の日付を返します。 // 例えば、99年8月なら31、99年9月なら30をを返します。 // 引数にはDateオブジェクトまたは年・月の整数値を指定します。 // // lastday(new Date()); // lastday(99, 8); // // 引数が不適切であれば0を返します。 // コメントアウトされている箇所は引数が1つの場合に // その引数がDateオブジェクトかどうかを判別するコードです。 // 厳密を期す場合にコメントを外してください。 // ただし、IE3では適切な動作をしないはずです。 function lastday() { var d, y, m, arg arg = lastday.arguments; //引数の配列 n = arg.length; //引数の数 if(n < 1 || 2 < n) //引数の数が1or2以外なら return 0; if(n == 1) { d = arg[0]; /* if((d.constructor + "").indexOf("Date") == -1) return 0; */ y = d.getYear(); //年 m = d.getMonth(); //月(0〜11) } else { y = arg[0]; m = arg[1] - 1; } d = new Date(y, m + 1, 1); //次の月の一日 d.setTime(d.getTime() - 86400000); //その前日 return d.getDate(); }