Мне нужно показать таймер обратного отсчета дней, часов, минут и секунд между текущей датой и указанной c датой с использованием определенного часового пояса.
У меня есть функция, которая передает даты из сервер, который использует часовой пояс Америки / Нью-Йорка.
Ниже моя js функция:
function loadSystemPayCycles(data){
var withdrawal_cut_off = data['withdrawal'];
var x = setInterval(function() {
var withdrawalCutOff = moment(withdrawal_cut_off);
var currentDate = moment.tz(moment(), "America/New_York");
var with_diff = withdrawalCutOff.diff(currentDate);
var withDiffDuration = moment.duration(with_diff);
$('.pay-cycle-daily').html(parseInt(diffDuration.as('days')) + " DAYS " +
diffDuration.get('hours') + ":"+ diffDuration.minutes() + ":" + diffDuration.seconds());
}, 1000);
}
Но он показывает неправильные часы. Я думаю, что в целом это показывает неправильную дату и время. Я считаю, что moment
все еще использует местное время моей машины.
Я попытался отобразить currentDate
в консоли, и я получил текущую дату и время Нью-Йорка, поэтому я не знаю, что это я делаю не так.