下記のいずれかではいけるようです。
str_to_date.js
var str = "YYYY/MM/DD HH:mm:ss";
var d = new Date(str);
str_to_date2.js
var str = "YYYY/MM/DD HH:mm:ss";
var d = Date.parse(str);
perse はブラウザによって、Date オブジェクトではなく、1970/01/01 からの経過時間を数値でかえしてくることがあるようです。
str は例えば "2020/02/29 12:34:56"
とかです。区切り文字がハイフンだと(例えば "2020-02-29 12:34:56"
)、ブラウザによって時差の分だけズレが生じることがあるようです。ハイフンを /
に直してから new Date()
すれば良いようです。
replaced.js
var str = "YYYY-MM-DD HH:mm:ss";
var d = new Date(str.replace(/-/g, '/'));
Date オブジェクト間の差分は、二つの時刻の間の差をミリ秒で表した数値になるようです。
date_sub.js
> new Date("2020/02/29 10:00:00") - new Date("2020/02/29 09:59:00");
// 60000
参考
https://qiita.com/labocho/items/5fbaa0491b67221419b4
むしろここを見るべき。