JavaScriptをプログラミングしていて、日付の操作を行う時、何気に面倒くさい事が多い。
ということで、日付処理関連を適当にまとめてみました。
ソース
(function(){
$$={};
//date-library
$$.date={
//todayを取得(JS)(return:y,m,d,h,i,s)
today:function(){
var d = new Date();
return {
y:Number(d.getFullYear()),
m:Number(d.getMonth()+1),
d:Number(d.getDate()),
h:Number(d.getHours()),
i:Number(d.getMinutes()),
s:Number(d.getSeconds())
};
},
//8桁年月日文字列を日付データで返す
//yyyymmdd → Date()
str2date:function(date){
return new Date(date.substr(0,4) , date.substr(4,2)-1 , date.substr(6,2));
},
//日付を文字列で返す
//Date() → string
date2string:function(dd){
if(!dd){dd=new Date()}
var y = dd.getFullYear();
var m = dd.getMonth()+1;
var d = dd.getDate();
m = (m<10)?"0"+Number(m).toString():m;
d = (d<10)?"0"+Number(d).toString():d;
return y.toString()+m.toString()+d.toString();
},
//2つの日付の期間 ※date1,2はstring(yyyymmdd)
range:function(date1 , date2){
var d1 = this.str2date(date1);
var d2 = this.str2date(date2);
return ((d2-d1)/(60*60*24)/1000);
},
//yyyymmddフォーマットの日付から*日後の日付を取得する
move:function(date , moveCount){
//Date(),フォーマットに変換
var dd = this.str2date(date);
var d2 = new Date(dd.getTime()+(moveCount*60*60*24*1000));
return this.date2string(d2);
},
//yyyymmdd形式を送ると曜日を返す
str2week:function(date){
var dd = day = str2date(date);
return dd.getDay();
}
};
windiw.$$DATE=$$;
return $$;
})();
要望受け付けます
他にもこんな処理どー書くの?とかいう質問もらったら、追記していきます。
0 件のコメント:
コメントを投稿