Pshkll
@Pshkll

Как получить время определенного часового пояса?

Здравствуйте. Прошу помощи специалистов.

Киевская фирма, которая находится в часовом поясе GMT+3, работает с 9:00 до 20:00. На сайте фирмы есть контактная форма. Ею пользуются все пользователи с разных стран (Россия, США, Австралия и т.д.). Но ответить мгновенно фирма может только в рабочее время.

Вопрос:
Как на js (jquery) можно правильно получить текущее время часового пояса GMT+3 и проверить входит ли это время в рабочие часы фирмы (т.е. работает ли фирма в данный момент).
Например, юзер с США отправляет сообщение, функция определяет отправляется ли оно в рабочее время для фирмы (с 9:00 до 20:00 GMT+3), если да - "Мы ответим вам в течении 10 минут", нет - "Мы ответим вам в ближайший рабочий день".

Заранее спасибо за помощь!
  • Вопрос задан
  • 1059 просмотров
Решения вопроса 1
Pshkll
@Pshkll Автор вопроса
Спасибо всем за помощь, но, к сожалению, ни один ответ не помог точно решить проблему. Подключать целую библиотеку не есть хорошо только для одного использования. Реализовал следующим образом:

function timeOf(offset) {
  var d, utc, nd;
  d = new Date();
  utc = d.getTime() + (d.getTimezoneOffset() * 60000);
  nd = new Date(utc + (3600000 * offset));
  return nd.toLocaleTimeString();
}
var hours, time_arr, hour, work_hours;
hours = timeOf('+3');
time_arr = hours.split(':');
hour = time_arr[0];
work_hours = ["9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"];
if($.inArray(hour, work_hours) !== -1)
  $('.test').html("TRUE");
else
  $('.test').html("FALSE");
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
Оперируйте с timestamp и не обращайте внимания на часовые пояса.
Т.е. ваша фирма работает с 6:00 до 17:00 UTC.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы