Преобразование времени сервера в любое заданное местное время в nodejs - PullRequest
0 голосов
/ 01 мая 2018

Это код, который я запускаю в моих узлах на стороне сервера для преобразования.

convertNowToTimezone = (localOffset) => {
  let d = new Date();
  let millis = d.getTime() + (d.getTimezoneOffset() * 60000); //convert server local time to UTC millisec
  d.setTime(millis - (localOffset * 60000)); //convert UTC millisec to required local time
  return d;
}

localOffset -330 (смещение IST), это дает разницу в 4 минуты.

Как правильно понять эту вещь?

1 Ответ

0 голосов
/ 01 мая 2018

Я бы рекомендовал использовать moment для работы с датами в javascript.

Вы можете легко управлять часовыми поясами с момент-часовой пояс

const moment = require('moment-timezone');

moment().tz("UTC").format();
moment().tz("America/Los_Angeles").format();

console.log(moment().tz("UTC").format());
console.log(moment().tz("America/Los_Angeles").format());
<script src="https://momentjs.com/downloads/moment.js"></script>
<script src="https://momentjs.com/downloads/moment-timezone-with-data.js"></script>

localOffset -330 (смещение IST), это дает разницу в 4 минуты.

Проверьте, синхронизировано ли время вашего сервера. Для этого вы можете использовать ntp , если вы используете сервер Linux.

...