概要
APIサイドからJSONを通じてフロント側(JavaScript)でデータを受け取るとき、日付を比較したい時がある。
そんなとき、JSONから受け取ったcreated_atなどの日付データ(timestamp)はそのままJavaScript側では使えない・・。
そこでJSONのtimestampをJavaScriptでDateとして使えるようにしていく。
やり方
hoge.js
// 任意の方法でjsonからtimestamp型の値を受け取る
// ここでは"timestamp"という変数として扱う
console.log(timestamp); // 2021-09-17T06:21:00.101Z
var date = new Date(timestamp);
console.log(date); // Fri Sep 17 2021 15:21:00 GMT+0900 (日本標準時)
サクッとできてしまいました。
hoge.js
//2021年9月17日の0時0分0秒を取得して、先程のdateと比較してみる
var start_of_today = new Date()
start_of_today.setHours(0,0,0,0)
console.log(start_of_today) // Fri Sep 17 2021 00:00:00 GMT+0900 (日本標準時)
if (date > start_of_today) {
console.log("今日の0時0分0秒から", date - start_of_today, "ミリ秒経ちました")
// 今日の0時0分0秒から 55260101 ミリ秒経ちました
}
このようにDate同士の比較もできるようになりました
参考