• Страница 1 из 1
  • 1
Модератор форума: JonMagon  
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Проблема с часовыми поясами в Javascript - объект Date() (Пользователям из разных час. поясов - разное время)
Проблема с часовыми поясами в Javascript - объект Date()
electrovlad
Сообщений: 5
Репутация: 0

Сообщение # 1 | 00:31:55
Мой сайт - http://mytrips.my1.ru/Voyage.htm

Надо набор дат вводить в формате часового пояса [GMT - 4] а для пользователей из других часовых поясов (в основном интересует [GMT +2]) - эти даты и время выводились с поправкой (на 6 часов)

В скрипте ввожу дату через объект Date. При выводе на экран - указываю .toLocaleString() - чтобы дата выводилась в формате часового пояса пользователя.

Цитата
<script type="text/javascript">
В настройках сайта (Главная » Общие настройки>>Местное время)
- указал [GMT - 4] . Но пользователь всё равно видит именно то время, что я ввёл. Без поправки.

Заранее благодарен.

Влад.

Добавлено (13 Ноя 2013, 00:31:55)
---------------------------------------------
Извините, неправильно отредактировал сообщение - первый вопрос на форуме cry
Вот код скрипта


Цитата

<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>
senya_01
Сообщений: 135
Репутация: 29

Сообщение # 2 | 00:51:42

Код
<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 Создаю все же я свою веб студию, доволен как слон!!!
electrovlad
Сообщений: 5
Репутация: 0

Сообщение # 3 | 04:59:07
Спасибо за быстрый ответ, но суть вопроса была немного другая. Эти скрипты выводят время и дату в формате, который принят у нас. А мне надо, чтобы я вводил дату и время по часовому поясу одному (GMT - 4), а пользователи видели эту дату в своём, другом часовом поясе (GMT + 2). Т.е. чтобы я вводил например 12.11.2013 20:56, а пользователь видел 13.11.2013 02:56 - если у него установлено время (GMT+2)
Ferro7
Сообщений: 285
Репутация: 227

Сообщение # 4 | 06:44:54

Вы полюбили меня. Здесь я. (с)
electrovlad
Сообщений: 5
Репутация: 0

Сообщение # 5 | 06:46:48
Я так понял, ручками это (перевод времени на 6 часов/часовых поясов впрерёд) можно сделать так
Код

today.setHours(today.getHours()+6);


Можно ли это сделать с помощью каких-нить свойств/методов ввода объекта Date()? Типа метода .toUTCString - только чтобы он не к UTC приводил, а к другому часовому поясу.
senya_01
Сообщений: 135
Репутация: 29

Сообщение # 6 | 13:30:16
electrovlad,
Вам я дал скрипты на java они прописаны грамотно, то есть если у человека разница во времени на 1-2 или более будит отображение по его часовому поясу! Так как вам и нужно, если у вас
Цитата electrovlad ()
12.11.2013 20:56
То к примеру у пользователя где нибудь с отрывом часового пояса будет, по его времени!
Цитата electrovlad ()
13.11.2013 02:56
Скрипт более ориентирован на "компьютерные" часы! Они должны быть протестированы, а уже после критикованы...

http://a-senkin.ru Создаю все же я свою веб студию, доволен как слон!!!
electrovlad
Сообщений: 5
Репутация: 0

Сообщение # 7 | 05:50:53
Видимо я просто чайник (это мой первый сайт на с js) и не понял как это сделать
Цитата senya_01 ()
Все оберни в нужную оболочку, структуру создай нужную, все работает!!!


Вот товарищ написал то, что мне надо, спасибо ему!
Цитата Ferro7 ()
getTimezoneOffset
senya_01
Сообщений: 135
Репутация: 29

Сообщение # 8 | 13:15:24
electrovlad,
Ладно, ладно!!! Что вы так нервничяете, успехов вам...

http://a-senkin.ru Создаю все же я свою веб студию, доволен как слон!!!
electrovlad
Сообщений: 5
Репутация: 0

Сообщение # 9 | 00:54:45
))) Да я не нервничаю))) Вы лучше напишите, что это означало
Цитата
Все оберни в нужную оболочку, структуру создай нужную

в стиле "для начинающих"
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Проблема с часовыми поясами в Javascript - объект Date() (Пользователям из разных час. поясов - разное время)
  • Страница 1 из 1
  • 1
Поиск: