#javascript #utc
Вопрос:
У меня есть две строки UTC, и я хочу рассчитать их разницу с помощью javascript.
const stored = "2021-09-21T06:49:15.574Z"
const now = "2021-09-21T07:49:15.574Z"
Я хочу, чтобы результат был в минутах.
Заранее спасибо.
Комментарии:
1. что вы пробовали ? какие ошибки вы допускаете при своем нынешнем подходе ?
Ответ №1:
Преобразуйте оба в (миллисекундное) время эпохи с использованием getTime()
, а затем выполните деление, чтобы получить количество минут:
const stored = "2021-09-21T06:49:15.574Z";
const now = "2021-09-21T07:49:15.574Z";
const minutes = (new Date(now).getTime() - new Date(stored).getTime()) / 1000 / 60;
console.log(Math.floor(minutes));
Если вы предпочитаете полагаться на тот факт, что Date
объекты автоматически преобразуются в эпоху при использовании в качестве операндов в математическом выражении, вы даже можете опустить вызовы getTime()
:
const stored = "2021-09-21T06:49:15.574Z";
const now = "2021-09-21T07:49:15.574Z";
const minutes = (new Date(now) - new Date(stored)) / 1000 / 60;
console.log(Math.floor(minutes));
Комментарии:
1. Спасибо, что он работает
Ответ №2:
Пожалуйста, просмотрите https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date подробнее о том, как использовать даты.
// from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
// Using Date objects
let start = Date.now() - 3.6e 6;
// The event to time goes here:
let end = Date.now();
let elapsed = end - start; // elapsed time in milliseconds
let minutes = Math.floor(elapsed / 60000);
console.log(minutes);
Ответ №3:
const stored = "2021-09-21T06:49:15.574Z";
const now = "2021-09-21T07:49:15.574Z";
const minutes = (new Date(now) - new Date(stored)) / 60000;
console.log("minutes difference is : " Math.floor(minutes));