момент - вычитание LT при использовании .format

1

Я не могу понять, как правильно вычесть два раза, которые я форматировал с помощью этой строки кода:

var moment = require('moment');
var moment = require('moment-timezone');
moment();
moment().tz("America/New_York");

clockedIn = moment().tz("America/New_York").format('HH:mm A');

clockedOut = moment().tz("America/New_York").format('HH:mm A');

Из того, что я исследовал, я вижу, что использование.format-метода преобразует время в строку. Как я смогу сохранить свою локальную переменную времени и вычесть ее из другой? Я пытаюсь создать бот-бокс, и у меня есть clockIn/Out, направляемый в интерактивное меню с кнопками. Я новичок в этом и буду признателен за любую помощь/понимание.

  • 0
    Кроме того: вам требуется только момент-часовой пояс, и вы можете коротко позвонить на moment.tz("America/New_York") . Вам не нужны строки 1, 3 или 4 выше.
  • 0
    Ха-ха ... Это кажется немного излишним, когда я смотрю на это. Спасибо за внимание, Мэтт!
Теги:
momentjs

1 ответ

1

Не уверен, правильно ли я понял, но просто не форматируйте данные, пока вы их не выведете.

var clockedIn = moment().tz("America/New_York");
console.log('In: ', clockedIn.format('HH:mm A'));

setTimeout(function() {
    var clockedOut = moment().tz("America/New_York");
    console.log('Out: ', clockedOut.format('HH:mm A'));

    var difference = clockedOut - clockedIn;  // milliseconds
    console.log('Time (secs): ', difference / 1000);
}, 2000);
  • 0
    Функция diff Момента может пригодиться и здесь.
  • 0
    Я вижу, в чем заключалась моя проблема! Я полагаю, мне не нужно было форматировать его, пока я не был готов показать его пользователю. Я немного покопаюсь в документах momentjs, чтобы использовать функцию diff. Спасибо вам большое!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню