Google
 
Web itpro-blogger.blogspot.com
金曜日, 1月 01, 2010

[JavaScript]加算日付取得

▼質問
JavaScriptにVBのDateAdd関数みたいな加算日付を取得する関数はないの?

▼回答
ないよ!

同じ動作をする関数を作成したから参考にしてくれ!



function DateAdd( interval, number, date )
{
var wDate = new Date( date );
var time = 0;

try {
switch ( interval ) {
case "yyyy":
wDate = new Date( wDate.getFullYear()+number, wDate.getMonth(), wDate.getDate(), wDate.getHours(), wDate.getMinutes(), wDate.getSeconds() );
break;
case "q":
wDate = new Date( wDate.getFullYear(), wDate.getMonth()+number*3, wDate.getDate(), wDate.getHours(), wDate.getMinutes(), wDate.getSeconds() );
break;
case "m":
wDate = new Date( wDate.getFullYear(), wDate.getMonth()+number, wDate.getDate(), wDate.getHours(), wDate.getMinutes(), wDate.getSeconds() );
var compDate = new Date( wDate.getFullYear(), wDate.getMonth()+number, 1, wDate.getHours(), wDate.getMinutes(), wDate.getSeconds() );
if ( wDate.getMonth() != compDate.getMonth() ) {
wDate.setDate( 1 );
wDate.setTime( wDate.getTime() - (24*60*60*1000) );
}
break;
case "y":
case "d":
case "w":
wDate = new Date( wDate.getFullYear(), wDate.getMonth(), wDate.getDate()+number, wDate.getHours(), wDate.getMinutes(), wDate.getSeconds() );
break;
case "ww":
wDate = new Date( wDate.getFullYear(), wDate.getMonth(), wDate.getDate()+number*7, wDate.getHours(), wDate.getMinutes(), wDate.getSeconds() );
break;
case "h":
wDate = new Date( wDate.getFullYear(), wDate.getMonth(), wDate.getDate(), wDate.getHours()+number, wDate.getMinutes(), wDate.getSeconds() );
break;
case "n":
wDate = new Date( wDate.getFullYear(), wDate.getMonth(), wDate.getDate(), wDate.getHours(), wDate.getMinutes()+number, wDate.getSeconds() );
break;
case "s":
wDate = new Date( wDate.getFullYear(), wDate.getMonth(), wDate.getDate(), wDate.getHours(), wDate.getMinutes(), wDate.getSeconds()+number );
break;
default:
}
} catch ( e ) {
return date;
}

wDate.setTime( wDate.getTime() + time );

return wDate;
}



■参考サイト
JavaScript による日付・時刻・時間の計算・演算のまとめ - hoge256ブログ
DateAdd 関数
javascriptで日付を加算して表示させるサンプル - 教えて!goo
DateAdd 関数 | VBScript関数リファレンス






Comments: コメントを投稿

<< Home

This page is powered by Blogger. Isn't yours?