こんにちは、てっちーです。JavaScriptで日付を取り扱う方法を紹介します。現在時刻の取得や文字列への変換、日付の計算方法、文字列から日付への変換方法について記載していますので、参考にしてみてください。
JavaScriptで日付や時刻を取り扱う : Dateオブジェクト
JavaScriptの時間の取り扱いのために、Date()オブジェクトを使います。引数なしのDate()を変数に代入すると現在の時刻が取り込まれます。
var CurDate = new Date();
console.log(CurDate);
結果は次の通りです。
Sun Oct 22 2017 22:53:37 GMT+0900 (東京 (標準時))
2017-10-22 22:53:37
日付を文字列へ変換する
その変数から、年月日時分秒をそれぞれ取り出して文字列へ変換するには、次のようなメソッドを使います。getMonthは、0から11の数字で取り出すので、1月から12月にするために、”+1″しましょう。
var CurDate = new Date();
var vYear = CurDate.getFullYear();
var vMon = (CurDate.getMonth()+1);
var vday = CurDate.getDate()
var vHour = CurDate.getHours();
var vMin = CurDate.getMinutes();
var vSec = CurDate.getSeconds();
var vTime = vYear+"-"+vMon+"-"+vday+" "+vHour+":"+vMin+":"+vSec;
console.log(vTime);
出力の結果は次の通りです。無事に取り出せています。
2017-10-22 22:53:37
日付と時刻の計算をする
getメソッドで取り出した値に計算を行い、set関数でセットします。計算した結果の繰り上がりは自動で行われます。
var newDate = new Date();
newDate.setFullYear(vYear+5);
newDate.setMonth(vMon+5);
newDate.setDate(vday+5);
newDate.setHours(vHour+5);
newDate.setMinutes(vMin+5);
newDate.setSeconds(vSec+5);
console.log(newDate);
実際の計算結果は次の通りです。それぞれ計算を行いますが、しっかりと繰り上がりが行われているのが確認できると思います。
Fri Apr 28 2023 03:58:42 GMT+0900 (東京 (標準時))
特定の日付と時刻を設定する
特定の時間を設定するのはDate()の引数で行うことができます。年月日時分秒を順番にカンマで区切ります。そのまま、文字列からの変換も可能です。
var Date1 = new Date(2017,4,23,21,32,22);
console.log(Date1);
次の通り、設定できていることが確認できます。
Tue May 23 2017 21:32:22 GMT+0900 (東京 (標準時))
Sun Jan 01 2017 09:00:00 GMT+0900 (東京 (標準時))
文字列から日付へ変換する
日付を比較演算するときなどに日付の型を持った変数を使いたい時があります。変換は次の方法でできます。ちなみに日付の比較は大きい方が新しい日付になります。
var Date2 = new Date("2017-01-01");
consoleで表示すると次のようになります。
Sun Jan 01 2017 09:00:00 GMT+0900 (東京 (標準時))
まとめ
すぐ忘れてしまうのでメモ代わりにまとめました。整理できれば簡単に取り扱えると思います。
コメント