рассчитайте разницу между двумя часами utc и получите разницу в минутах

#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));