|
|
Модератор форума: JonMagon |
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Проблема с часовыми поясами в Javascript - объект Date() (Пользователям из разных час. поясов - разное время) |
Проблема с часовыми поясами в Javascript - объект Date() |
Мой сайт - http://mytrips.my1.ru/Voyage.htm
Надо набор дат вводить в формате часового пояса [GMT - 4] а для пользователей из других часовых поясов (в основном интересует [GMT +2]) - эти даты и время выводились с поправкой (на 6 часов) В скрипте ввожу дату через объект Date. При выводе на экран - указываю .toLocaleString() - чтобы дата выводилась в формате часового пояса пользователя. Цитата Заранее благодарен. Влад. Добавлено (13 Ноя 2013, 00:31:55) Цитата <script type="text/javascript"> .................. port[1] = "Kingston, Jamaica"; //массив данных arrival[1] = new Date (2013, 10, 4, 7, 00); departure[1] = new Date (2013, 10, 4, 20, 00); ................. document.write("<td>" + port [1]+ "</td><td>" + arrival.toLocaleString() + "</td><td>" + departure[1].toLocaleString() + "</td>"); ........ </script> |
Код <div style="color:#000000;font-size:12px;font-family:Arial;font-weight:normal;font-style:normal;text-decoration:none" id="date"></div> <script type="text/javascript"> var now = new Date(); var days = new Array('Воскресенье','Понедельник','Вторник','Среда','Четверг','Пятница','Суббота'); var months = new Array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'); var date = ((now.getDate() < 10) ? "0" : "") + now.getDate(); var year = (now.getYear() < 1000) ? now.getYear() + 1900 : now.getYear(); today = days[now.getDay()] + ", " + months[now.getMonth()] + " " + date + ", " + year; var basicdate = document.getElementById('date'); basicdate.innerHTML = today; </script> А вот для времени: Код <div style="color:#000000;font-size:12px;font-family:Arial;font-weight:normal;font-style:normal;text-decoration:none" id="basicclock"></div> <script type="text/javascript"> function clock() { var digital = new Date(); var hours = digital.getHours(); var minutes = digital.getMinutes(); var seconds = digital.getSeconds(); if (minutes <= 9) minutes = "0" + minutes; if (seconds <= 9) seconds = "0" + seconds; dispTime = hours + ":" + minutes + ":" + seconds; var basicclock = document.getElementById('basicclock'); basicclock.innerHTML = dispTime; setTimeout("clock()", 1000); } clock(); </script> Все оберни в нужную оболочку, структуру создай нужную, все работает!!! http://a-senkin.ru Создаю все же я свою веб студию, доволен как слон!!!
|
Спасибо за быстрый ответ, но суть вопроса была немного другая. Эти скрипты выводят время и дату в формате, который принят у нас. А мне надо, чтобы я вводил дату и время по часовому поясу одному (GMT - 4), а пользователи видели эту дату в своём, другом часовом поясе (GMT + 2). Т.е. чтобы я вводил например 12.11.2013 20:56, а пользователь видел 13.11.2013 02:56 - если у него установлено время (GMT+2)
|
|
Я так понял, ручками это (перевод времени на 6 часов/часовых поясов впрерёд) можно сделать так
Код today.setHours(today.getHours()+6); Можно ли это сделать с помощью каких-нить свойств/методов ввода объекта Date()? Типа метода .toUTCString - только чтобы он не к UTC приводил, а к другому часовому поясу. |
electrovlad,
Вам я дал скрипты на java они прописаны грамотно, то есть если у человека разница во времени на 1-2 или более будит отображение по его часовому поясу! Так как вам и нужно, если у вас То к примеру у пользователя где нибудь с отрывом часового пояса будет, по его времени! Скрипт более ориентирован на "компьютерные" часы! Они должны быть протестированы, а уже после критикованы... http://a-senkin.ru Создаю все же я свою веб студию, доволен как слон!!!
|
|
))) Да я не нервничаю))) Вы лучше напишите, что это означало
Цитата Все оберни в нужную оболочку, структуру создай нужную в стиле "для начинающих" |
| |||
| |||