Как сравнить строку даты JSON со строкой javascript? - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь сравнить два значения времени, я создаю новую переменную даты в jS, а затем передаю ее в Memberstack в JSON (это работает). Затем я вызываю данные, когда страница перезагружается, и извлекаю значение из Memberstack, чтобы сравнить даты между первой загрузкой и второй загрузкой.

Вот мой код:

// Run timer. //
function runTimer() {
  
MemberStack.onReady.then(async function(member) {
  var metadata = await member.getMetaData() // <------ call the initial date value from Memberstack
  if (metadata.startDate != null) {
    var initiatedDate = metadata["startDate"]; // <------ the initial date value
    var referenceDate = currentDate; // <------ the second date value to compare to
    var calcDifference = referenceDate.getTime() - initiatedDate.getTime(); // <------ errors here
    var calcDifferenceD = calcDifference / (1000 * 3600 * 24); 
    alert(calcDifference);
    }
})

}
// End run timer. //

Когда я пытаюсь отладить это в консоли, я вижу следующее:

Приставка

Когда я запускаю initiatedDate.getTime(); в строке 83, я получаю следующую ошибку:

Uncaught (in promise) TypeError: initiatedDate.getTime is not a function

Мне нужно сопоставить строки 81 и 82, чтобы я мог их сравнить , может ли кто-нибудь помочь мне сравнить эти две даты?

1 Ответ

2 голосов
/ 06 августа 2020

Здесь - ответ на ваш вопрос. Ваш initiatedDate не объект, а строка, поэтому .getTime не существует. Таким образом, вы должны преобразовать свою строку в объект Date.

Вот как вы можете это сделать:

var initiatedDate = new Date(metadata['startDate'])

И тогда ваш InitialDate будет иметь метод .getTime, и он не будет быть ошибкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...