[javascript] date関数を使いこなす

2015年10月4日

Javascript テクノロジー プログラミング

サービスを構築する際に、日付の操作を行う事がある。 WEBブラウザ上に表示してある日付に対して簡易に処理を行うために、javascriptで操作する必要があり、 以後の開発効率化の為に、調査も含めてサンプルを作っておきます。

指定日に対して*日前の値を取得する方法

//2015/1/1 0:0:0の13時間前をセットしてみる。 var date = new Date(); //年をセット date.setYear(2015); //月をセット(月は0スタートなので、-1をすると分かりやすい) date.setMonth(1-1); //日をセット date.setDate(1); //時をセット date.setHours(0 - 13); //分をセット date.setMinutes(0); //秒をセット date.setSeconds(0); console.log(date);

結果

Wed Dec 31 2014 11:00:00 GMT+0900 (JST)

もっと簡単に書いてみると

var date = new Date(2015,1-1,1,0-13,0,0); console.log(date); [ year , month , day , hour , minutes , second , msec] この順番で登録すれば、set関数を使わなくても登録できる。

2つの日付けから期間数を表示する

1月1日から1月3日の期間数は、日では3日間、時間では72時間・・・ 日付のフォーマットは「yyyymmddhhiiss」とする。

1970年からの秒数を取得する

var date = new Date(2015,1,1,0,0,0); console.log(date.getTime()); > 1422716400000 2つの日付の差分を計算して、秒数を日数や時間単位に変換してやると期間日数が取得できる。

20150101から20151231までの日数を取得する

//データ設定 var d1 = { y:2015, m:1, d:1, h:0, i:0, s:0 }; var d2 = { y:2015, m:12, d:31, h:0, i:0, s:0 }; //日付セット //*同日で1日間という返答にするために、後日の方に1を加える var date1 = new Date(d1.y, d1.m, d1.d, d1.h, d1.i, d1.s); var date2 = new Date(d2.y, d2.m, d2.d+1, d2.h, d2.i, d2.s); //差分の秒を取得 var diff = date2.getTime() - date1.getTime(); //日数に変換 var days = parseInt(diff / (24 * 60 * 60 * 1000) ,10); console.log(days); > 365

指定日(2015年1月1日)の曜日を取得

取得する曜日は0-6までの数値で取得され、0が日曜日で6が土曜日のため、 配列で表示用の曜日リストを作る必要がある。 var week = ["Sun","Mon","Tsu","Wed","Thu","Fri","Sut"]; var date = new Date(2015,1,1,0,0,0); console.log(week[date.getDay()]);

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。