iPhone端末でDate関数が取得できないときの対応

iPhone端末でDate関数が取得できないときの対応

json形式で取得した日付入りの配列を用いて「◯日以内ならNewアイコンを付ける」処理を設定していた。

new Date関数で、取得した日付「2020-05-19 05:50:43」を取得。
現在の日時と比較していたが、この日付の指定ではiPhone端末でDate関数で値が変換できない。
「2020-05-19T05:50:43」の形にする必要があったため、replaceの変換を追加した。

◆元の処理

checkIcon() {
  var periodDay = 7; // アイコンを表示する日数

  //比較する日付オブジェクトを2つ定義する
  var today = new Date();
  var created = new Date(this.item.created_at);

  var termDay = (today - created) / 86400000;
  if (termDay < periodDay) {
    this.checkNew = true;
  } else {
    this.checkNew = false;
  }
}

◆修正した処理

checkIcon() {
  var periodDay = 7; // アイコンを表示する日数

  //比較する日付オブジェクトを2つ定義する
  var today = new Date();
  var created = new Date(this.item.created_at.replace(' ', 'T'));

  var termDay = (today - created) / 86400000;
  if (termDay < periodDay) {
    this.checkNew = true;
  } else {
    this.checkNew = false;
  }
}