Сколько секунд между двумя датами?

Таким образом, у меня есть две даты YYYY-MM-DD и ZZZZ-NN-EE

Как я могу узнать, сколько секунды там между ними?

167
задан Sunil Garg 10 May 2018 в 11:38
поделиться

6 ответов

Я принимаю YYYY и ZZZZ как целые числа, означающие год, MM и NN как целые числа, означающие месяц года, а DD и EE как целые числа, означающие день месяца.

var t1 = new Date(YYYY, MM, DD, 0, 0, 0, 0);
var t2 = new Date(ZZZZ, NN, EE, 0, 0, 0, 0);
var dif = t1.getTime() - t2.getTime();

var Seconds_from_T1_to_T2 = dif / 1000;
var Seconds_Between_Dates = Math.abs(Seconds_from_T1_to_T2);

Удобным источником для будущих ссылок является MDN сайт

В качестве альтернативы, если ваши даты приходят в формате javascript может разобрать

var dif = Date.parse(MM + " " + DD + ", " + YYYY) - Date.parse(NN + " " + EE + ", " + ZZZZ);

и тогда вы можете использовать это значение как разницу в миллисекундах (dif в обоих моих примерах имеет одно и то же значение)

.
219
ответ дан 23 November 2019 в 20:59
поделиться

Просто вычитайте:

var a = new Date();
alert("Wait a few seconds, then click OK");

var b = new Date();
var difference = (b - a) / 1000;

alert("You waited: " + difference + " seconds");
76
ответ дан 23 November 2019 в 20:59
поделиться
var a = new Date("2010 jan 10"),
    b = new Date("2010 jan 9");

alert(
    a + "\n" + 
    b + "\n" +
    "Difference: " + ((+a - +b) / 1000)
);
4
ответ дан 23 November 2019 в 20:59
поделиться

Если одна или обе твои даты в будущем, то, боюсь, если тебе нужна вторая точность, то ты в выигрыше. UTC время имеет високосные секунды, которые известны только примерно за 6 месяцев до их наступления, поэтому любые даты дальше этого могут быть неточными на некоторое количество секунд (а на практике, так как люди не так часто обновляют свои машины, вы можете обнаружить, что любое время в будущем отключается на некоторое количество секунд).

Это дает хорошее объяснение теории проектирования библиотек даты/времени и почему это так: http://www.boost.org/doc/libs/1_41_0/doc/html/date_time/details.html#date_time.tradeoffs

14
ответ дан 23 November 2019 в 20:59
поделиться

создайте два объекта объекта даты и вызовите значениеOf() на обоих, затем сравните их.

Ссылка на объект даты JavaScript

5
ответ дан 23 November 2019 в 20:59
поделиться

.Net предоставляет класс TimeSpan для выполнения расчетов за вас.

var time1 = new Date(YYYY, MM, DD, 0, 0, 0, 0)
var time2 = new Date(ZZZZ, NN, EE, 0, 0, 0, 0)

Dim ts As TimeSpan = time2.Subtract(time1)

ts.TotalSeconds
-10
ответ дан 23 November 2019 в 20:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: