Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Реактивная Куропатка от 10 Апреля 2003, 10:37:56

Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Реактивная Куропатка от 10 Апреля 2003, 10:37:56
Очень нужен скрипт часов и даты (или только даты), который был бы привязан не ко времени на машине, с которой смотрят сайт, а к определенному часовом поясу... Грубо говоря, надо, чтоб на сайте показывалось время Москвы даже если сайт смотрят из США...
Заранее спасибо.
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Oak от 10 Апреля 2003, 22:05:50
нууу... можно на сервере вставлять начальное время . а на клиенте брать боле точное. Т.е тебе надо время с точностью до часа - это нормально дает сервер. А локально берешь минуты.

 Только вот если закешируется- тогда ой :)
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: NCRangeR от 11 Апреля 2003, 06:44:09
Oak
а разве нельзя через JS выяснить текущий часовой пояс?
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Реактивная Куропатка от 11 Апреля 2003, 09:17:32
Вся проблема, товарисчи, в том, что я не программист. И ни черта в скриптах не понимаю...потому и спрашиваю - "где взять?"

Роюсь по всяким коллекциям скриптов - подавляющее большинство из них ориентировано на локал тайм пользователя...то есть сколько времени на твоей машине, столько и показываться будет...а мне надо "жестко московское", независимо от того, откуда смотрят сайт. Вот.

Или может кто подскажет, как по коду скрипта определить, тот-не тот? Я так понимаю, время можно привязить к Гринвичу и приплюсовать к нему 3 часа...но как это сделать не знаю. Может, у кого есть на примете подобный скрипт?
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Oak от 12 Апреля 2003, 00:58:02
аа.. а тебе в каком виде это показывать?
 Есть хоть какой-то скрипт?


var hrs;
Today = new Date();
hrs = Today.getUTCHours();

но это тоже для программистов
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Реактивная Куропатка от 12 Апреля 2003, 13:52:13
Ну, нашлась вчера, наприме, вот такая фигня...



Вроде как скрипт ориентируется на время по Гринвичу (то есть на самом деле на время на том же компе пользователя, но с учетом выставленного в операционке часового пояса) и прибавляет к нему 4 часа. Получается Москва. Только убейте меня не пойму, почему для получения Московского времени надо прибавлять 4, а не 3 часа...видимо, из-за перехода на летнее время. :)
Собственно, проблема теперь в одном - этот работающий скрипт выдает результат в таком вот виде:
Sat, 12 Apr 2003 13:49:54 UTC
А вот как бы вот это " UTC" убрать?
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Oak от 12 Апреля 2003, 16:13:06
Смотри тут:
http://devedge.netscape.com/library/manuals/2000/javascript/1.5/guide/obj.html#1008512

а именно:

function JSClock() {
   var time = new Date()
   var hour = time.getHours()
   var minute = time.getMinutes()
   var second = time.getSeconds()
   var temp = "" + ((hour > 12) ? hour - 12 : hour)
   if (hour == 0)
      temp = "12";
   temp += ((minute < 10) ? ":0" : ":") + minute
   temp += ((second < 10) ? ":0" : ":") + second
   temp += (hour >= 12) ? " P.M." : " A.M."
   return temp
}


[off]
Translit - translit ..  vot nazhal na knopochke "t>r"  ;)

фунцтион ЙСЦлоцк() {
   вар тиме = неw Дате()
   вар хоур = тиме.гетХоурс()
   вар минуте = тиме.гетМинутес()
   вар сецонд = тиме.гетСецондс()
   вар темп = "" + ((хоур > 12) ? хоур - 12 : хоур)
   иф (хоур == 0)
      темп = "12";
   темп += ((минуте < 10) ? ":0" : ":") + минуте
   темп += ((сецонд < 10) ? ":0" : ":") + сецонд
   темп += (хоур >= 12) ? " П.М." : " А.М."
   ретурн темп
}
[/off]
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Oak от 12 Апреля 2003, 16:15:17
Забыл - напиши  eto pered :

document.write(JSClock())

i poprav\' tam +4 kak ti delala
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Mog. от 13 Апреля 2003, 18:06:51
Цитировать
Реактивная Куропатка:
Ну, нашлась вчера, наприме, вот такая фигня...

А ты её так:


При этом цифра (4) задает сдвиг от гринвича той зоны, для которой надо показать время.


2Oak
[off]
вар сецонд = тиме.гетСецондс()

Пестня!
Звучит как латынь :)
Var second, time get seconds - Типа, не думай о секундах свысока
:)
[/off]
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Реактивная Куропатка от 14 Апреля 2003, 09:59:09
2Oak  
 Спасибо, это работает. Только мне еще нужна и дата...:))

2Mog
...а вот вопрос: а можно сделать так, чтобы дата в обязательном порядке писалась по англ.?
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Mog. от 14 Апреля 2003, 14:07:20
Цитировать
Реактивная Куропатка:
по англ
А у тя по русски пишет? У меня просто 15/04/03
toLocaleString() интерпретирует в соответствии с теми настройками, что есть на компе юзера (локаль она и есть локаль)
В принципе можно все, но вся проблема, товарисч, в том, что я тоже не программист :) и для меня это напрягово, вот так сходу сделать.
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Реактивная Куропатка от 14 Апреля 2003, 17:38:33
2Mog

...по-русски, по-русски, в форме "14 апреля 2003 г. 17:36:37"

...да я, собственно, и не требую. Спасибо и за уже оказанное внимание. :)
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Mog. от 16 Апреля 2003, 15:26:41
Если это кого то ещё интересует, то вот, что получилось



дни недели и месяцы правим на нужный язык и получаем скрипт, выводящий дату-время привязанную к нужному часовому поясу (my_ofs)
Название: Скрипт часов, привязанных к часовому поясу.
Отправлено: Реактивная Куропатка от 16 Апреля 2003, 16:23:34
Вау, товарищ Mog, фанат форума. :)

Вот за это примите наше большое человеческое спасибо. :)