【JavaScript】先月、今月、先週、今週の日付を計算
JavaScriptで日付計算をしたときのメモ。
日付の表示はjQuery UIのdatepickerを使用。
コードサンプル
var objBase = j$("#<?php echo $sId;?>");
var objOption = {
numberOfMonths : 3,
defaultDate : "-1m",
showAnim : "",
changeYear : true,
showButtonPanel : true
};
var objBegin = objBase.find("[name$=_begin]").datepicker(objOption);
var objEnd = objBase.find("[name$=_end]").datepicker(objOption);
//先月、今月、先週、今週をセット
var objToday = new Date();
//先月
objBase.find("[name=last-month]").click(function(){
objBegin.datepicker("setDate", new Date(objToday.getFullYear(), objToday.getMonth() - 1, 1));
objEnd.datepicker("setDate", new Date(objToday.getFullYear(), objToday.getMonth(), 0));
});
//今月
objBase.find("[name=this-month]").click(function(){
objBegin.datepicker("setDate", new Date(objToday.getFullYear(), objToday.getMonth(), 1));
objEnd.datepicker("setDate", new Date(objToday.getFullYear(), objToday.getMonth() + 1, 0));
});
//先週
objBase.find("[name=last-week]").click(function(){
iDate = objToday.getDate() - 7 - objToday.getDay(); //日曜
objBegin.datepicker("setDate", new Date(objToday.getFullYear(), objToday.getMonth(), iDate));
iDate = objToday.getDate() - 7 + 6 - objToday.getDay(); //土曜
objEnd.datepicker("setDate", new Date(objToday.getFullYear(), objToday.getMonth(), iDate));
});
//今週
objBase.find("[name=this-week]").click(function(){
iDate = objToday.getDate() - objToday.getDay(); //日曜
objBegin.datepicker("setDate", new Date(objToday.getFullYear(), objToday.getMonth(), iDate));
iDate = objToday.getDate() + 6 - objToday.getDay(); //土曜
objEnd.datepicker("setDate", new Date(objToday.getFullYear(), objToday.getMonth(), iDate));
});PHPのコードがあったり、jQuery UIを知らないと意味不明かもしれないけど、自分用メモだから良しとする。
<関連記事>