Дата и время для разных городов
Задача стоит написать скрипт получения даты и время по разным городам(Москва, Мадрид, Токио...)
на данный момент год такой: 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); }); Время по другим городам я хотела реализовать сложением и вычитанием часового пояса от времени по Москве. Проблема в том, что данный скрипт получает системное время с пк пользователя, а у него может быть не Московское время. Подскажите как решить эту проблему? или я изначально делаю не так? |
Бери время с сервера.
Самый простой путь (пример на 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); Рекомендую делать ставку всё же на серверное время. |
Есть же методы получить UTC время на клиенте http://javascript.ru/Date
|
Часовой пояс GMT +3, время: 15:02. |