こんにちは、さるまりんです。
以前、文字列から数値への変換というのはやったことがあります。今回は日時です。
Date.parse()/new Date()で変換
文字列からDate
オブジェクトに変換するには、parse()
関数かDate
オブジェクトのコンストラクターを使います。
var str = "2019/03/10 11:00:00";
var date1 = Date.parse(str); // parse()で
var date2 = new Date(str); // コンストラクターで
str
には「日時を表す文字列」が使えるのですが、どんな形式が使えるかはブラウザによって差があるようです。上の例のyyyy/MM/dd HH:mm:ss
の形式は現在使われている多くのブラウザで利用可能なようです。もう一つよく見る形式のyyyy-MM-dd HH:mm:ss
はというとブラウザによってタイムゾーンの分ずれることがあるみたいなので注意が必要です。タイムゾーンによる差を含む形式yyyy-MM-ddTHH:mm:ss+HH:mm
(もしくは-HH:mm
)とするとこちらも多くのブラウザで利用できるようです。
ちょっとひねってreplaceを利用する
先ほど触れましたがyyyy-MM-dd
のハイフンの形式だとズレが生じることがあります。ならば「-
」を「/
」に置き換えたらどう?という考え方です。
// yyyy-MM-dd HH:mm:ssの文字列
var str = '2019-03-10 11:30:00';
// 2019/03/10 11:30:00に変換します
var replaced = str.(/-/g, '/');
// parseでDateに変換します
var date = Date.parse(str);
大したことではないんですけど便利かな。
これで計算したり比較したりできるようになります。
それはまた改めてやってみたいと思います。
読んでくださってありがとうございます。
ではまた!