Проблемы с Date () при использовании JSON.stringify () и JSON.parse ()
Я пытаюсь рассчитать разницу между двумя разами с помощью JavaScript. Это просто базовая математика, но у меня, кажется, есть некоторые проблемы с этим при использованииJSON.stringify()
а такжеJSON.parse()
.
Если вам интересно, почему я применяюJSON.stringify()
до сегодняшнего дня, потому что я использую локальное хранилище для хранения некоторых данных на стороне клиента и использую их всякий раз, когда клиент снова заходит на мой веб-сайт (это быстрее, чем больше запросов к серверу). Эти данные обычно обновляются время от времени (я получаю данные через API с другого веб-сайта), поэтому я настроилdata_update
переменная, и я храню ее вместе с другими данными.
Таким образом я извлекаю сохраненные данные из локального хранилища и проверяю разницу междуdata_update
(которая является датой / временем) и временем / датой, когда была сделана проверка, и посмотреть, превышает ли она неделю / день / и т. д.
Вот почему я использую функции JSON. Моя проблема в том, что когда я анализирую данные из локального хранилища, дата, кажется, отличается отDate()
объект.
Я пытаюсь выполнить следующую операцию, скажем:
var x = JSON.parse(JSON.stringify(new Date()));
var y = JSON.parse(this.get_local_storage_data(this.data_cache_key)); // the data object stored on local storage
var q = y.data_update; // this is the variable where the Date() was stored
console.log(Math.floor((x-q)/1000));
Выше вернетсяnull
, Также, когда я хочу увидетьMath.floor(x)
результат, он возвращаетnull
снова.
Так что я могу сделать в этой ситуации? Можно ли это исправить ?