2011-12-20 3 views
1

После этого, когда я набираю date в bash, он говорит о правильном времени в формате CST.Какой системный вызов использует `new Date()` javascript?

Однако, когда я запускаю серверную программу javascript, используя node.js, она по-прежнему говорит о времени в часовой пояс GMT.

console.log(new Date()); 

Должен ли я перезагружать сервер? Какой системный вызов использует javascript (V8) для new Date()?

Должен ли я перекомпилировать node.js? Буду признателен за вашу помощь.

ответ

0

Вам необходимо перезапустить программы, чтобы они заметили новый часовой пояс, попробуйте, если вы еще этого не сделали. Часовой пояс также может быть переопределен переменными env, поэтому также проверьте их.

+0

Я перезапустил программу узла, но все равно никаких изменений. Я набрал «env» для проверки переменных окружения, но там нет никаких признаков настройки часового пояса. – user482594

+0

Извините, у меня нет других идей. Но мне любопытно, что возвращает 'getTimezoneOffset()'. – Ariel

1

Примечание

я понял, что getHours() и getMinutes() будут возвращать часы и минуты местного времени. Просто new Date() всегда будет возвращать формат даты с точки зрения GMT. Поэтому просто используйте методы getHours() и getMinutes(), чтобы получить время в локальном формате даты.

var p = new Date(); // in GMT 
p.getHours();  // in hours in local timezone (CST) 
p.getMinutes();  // in minutes in local timezone (CST) 

Таким образом, вам не нужно ничего устанавливать и рассчитывать.

+0

Да, я только что понял, что getHours() и getMinutes() вернут часы и минуты в зависимости от локального времени. – user482594

+0

Я изменил этот ответ для всех, кто может прийти и увидеть это в будущем. – user482594

Смежные вопросы