Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.04.2012, 18:30
Новичок на форуме
Отправить личное сообщение для Lunozwetka Посмотреть профиль Найти все сообщения от Lunozwetka
 
Регистрация: 22.04.2012
Сообщений: 1

Дата и время для разных городов
Задача стоит написать скрипт получения даты и время по разным городам(Москва, Мадрид, Токио...)
на данный момент год такой:
function clock(){ 
    var currentTime = new Date(); 
    var currentHours = currentTime.getHours(); 
    var currentMinutes = currentTime.getMinutes(); 
    var currentSeconds = currentTime.getSeconds(); 
    currentMinutes = (currentMinutes < 10 ? "0" : "") + currentMinutes; 
    currentSeconds = (currentSeconds < 10 ? "0" : "") + currentSeconds; 
    $('#hour_min').text(currentHours + ':' + currentMinutes); 
    $('#sec').css({"font-size":"9px", "vertical-align":"text-top"}).text(currentSeconds); 
} 
var days = ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'];  
var months = ['января', 'Февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 
              'августа', 'сентября', 'октября', 'ноября', 'декабря']; 
$(document).ready(function() { 
console.log(1);
   var currentTime = new Date();
   var currentDay = days[currentTime.getDay()];
   var currentDate = currentTime.getDate();
   var currentMonth = months[currentTime.getMonth()];
   var currentYear = currentTime.getFullYear(); 
   $('#date').text(currentDay + ' ' + currentDate + ' ' + currentMonth + ' ' + currentYear + 'г'); 
   clock();
   window.setInterval(clock, 1000);
});

Время по другим городам я хотела реализовать сложением и вычитанием часового пояса от времени по Москве.
Проблема в том, что данный скрипт получает системное время с пк пользователя, а у него может быть не Московское время.
Подскажите как решить эту проблему? или я изначально делаю не так?

Последний раз редактировалось Octane, 22.04.2012 в 18:34. Причина: javascript.ru/formatting
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2012, 18:41
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Бери время с сервера.

Самый простой путь (пример на php).
realtime = <?php echo time(); ?>
    setInterval("realtime++", 1000);

Здесь ты создала что то вроде своих собственных часов,
однако меня терзают смутные сомнения что эти часы будут идти точно на всех браузерах.

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

Помимо прочего в javascripte уйма методов работы со временем, но все они привязаны к часам у пользователя, если у него неверно то неверно и на вашей странице
Вас должны заинтерисовать методы возвращающие Всеми́рное координи́рованное вре́мя.

getUTCDate() Возвращает день месяца (1-31) в соответствии с UTC
getUTCDay() Возвращает день недели (0-6) в соответствии с UTC
getUTCMonth() Возвращает месяц (0-11) в соответствии с UTC
getUTCFullYear() Возвращает число года в соответствии с UTC
getUTCHours() Возвращает время в часах (0-23) согласно UTC
getUTCMinutes() Возвращает минуты (0-59) согласно UTC
getUTCSeconds() Возвращает секунды (0-59) согласно UTC
getUTCMilliseconds() миллисекунды
ещё UTC время можно посчитать utc = d.getTime() + (d.getTimezoneOffset() * 60000);

Рекомендую делать ставку всё же на серверное время.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 22.04.2012 в 19:29.
Ответить с цитированием
  #3 (permalink)  
Старый 22.04.2012, 18:50
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Есть же методы получить UTC время на клиенте http://javascript.ru/Date
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
[Повтор] Лучшее время для вебинара Илья Кантор Сайт Javascript.ru 6 11.01.2010 11:51
UI Dialog как победить двойной вызов??? xela1980 jQuery 3 19.12.2009 11:51
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31