2014-11-07 5 views
1

Я работаю над проектом, и мне было просто любопытно, можно ли в JavaScript вызывать новую дату() для определенного часового пояса. Когда я говорю:new Date() для определенного часового пояса в JavaScript

var test = new Date(); 

Я отладка, и я считаю, что тест вара =

Date {Fri Nov 07 2014 11:59:41 GMT-0500 (Eastern Standard Time)} 

, который имеет смысл, потому что я нахожусь в зоне восточного времени, и это 11:59 здесь.

Мои вопросы: Есть ли способ получить объект Date для указанного часового пояса, а не только ваше собственное местное системное время?

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

Моя единственная проблема заключается в том, что человек, который заполняет форму, может быть либо в Восточной, Центральной, Горе, либо в Тихом океане. Поэтому, если человек, находящийся в Восточном времени, заполняет форму для конференции со временем начала для клиента в Горное время, когда я пытаюсь сравнить время, новая дата() дает мне только мое местное время, когда я захочу сравнить время, введенное в Mountain time, для моих проверок и проверки.

Это своего рода запутанное, но я просто хотел немного рассказать о приложении для этой проблемы. Если кто-то нуждается в дальнейшем разъяснении, не стесняйтесь спрашивать. Любая помощь приветствуется.

Спасибо!

-Dave

+1

Проверьте это: http://stackoverflow.com/questions/11124322/get-date-time-for-a-specific-time- zone-using-javascript –

+0

Спасибо, что указали мне в правильном направлении! Мне кажется, что я смог выполнить то, что я пытался сделать с методами, описанными в этой статье. +1! – MotoDave452

ответ

2

заказ moment-timezone.js, который делает работу с датами и часовых поясов намного проще в JavaScript.

Пример на главной странице показывает, как это работает:

var newYork = moment.tz("2014-06-01 12:00", "America/New_York"); 
var losAngeles = newYork.clone().tz("America/Los_Angeles"); 
var london  = newYork.clone().tz("Europe/London"); 

newYork.format(); // 2014-06-01T12:00:00-04:00 
losAngeles.format(); // 2014-06-01T09:00:00-07:00 
london.format();  // 2014-06-01T17:00:00+01:00 
+0

Благодарим вас за информацию о time-timezone.js. Похоже, что это может пригодиться при работе с датами и часовыми поясами. Очень признателен! – MotoDave452

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