【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を知らないと意味不明かもしれないけど、自分用メモだから良しとする。
<関連記事>