Просмотр полной версии : Часики на флэш - задержка времени GMT
hopperspb
25.06.2007, 11:18
Подскажите как поставить тут +пару часов к времени, которое он бюерет с компьютера? Совсем запутался уже.
Тоесть тут он отображает реальное время а как сделать чтобы на 2 часа больше показывал например... Хелп плиз.
time=new Date();
sec_time = time.getSeconds();
time_m = time.getMinutes();
time_th = time.getHours();
sec = sec_time*3;
min = time_m*3;
th = (time_th*30)+(min/12);
t_w = 70;
t_h = 68;
s_w = 71;
s_h = 68;
duplicateMovieClip("t_th", "t_t", 1);
setProperty("t_th", _x, t_w);
setProperty("t_th", _y, t_h);
setProperty("t_th", _rotation, th);
duplicateMovieClip("th", "mi", 1);
setProperty("th", _x, s_w);
setProperty("th", _y, s_h);
setProperty("th", _rotation, int(th));
duplicateMovieClip("t_min", "t_mi", 1);
setProperty("t_min", _x, t_w);
setProperty("t_min", _y, t_h);
setProperty("t_min", _rotation, min);
duplicateMovieClip("min", "mi", 1);
setProperty("min", _x, s_w);
setProperty("min", _y, s_h);
setProperty("min", _rotation, min);
duplicateMovieClip("t_sec", "t_se", 1);
setProperty("t_sec", _x, t_w);
setProperty("t_sec", _y, t_h);
setProperty("t_sec", _rotation, sec);
duplicateMovieClip("sec", "ce", 1);
setProperty("sec", _x, s_w);
setProperty("sec", _y, s_h);
setProperty("sec", _rotation, sec);
1. Для оформления своего кода, надо использовать теги .
2. setProperty давно устарел. Вам так охотно лишние буквы набивать, вместо того чтобы набрать скажем sec._y = s_h ?
3. time_th = time.getHours() + 2;
Для GMT специальные есть методы getUTCHours и т.п. Хорошо тем, что учитывает летнее время.
Потому что в летом +4, зимой + 3, в южном полушарии наоборот, а на экваторе вообще стрелки не переводят. Если в европе переводят стрелки в один день (там какое-то воскресенье), и это поддается вычислению, то в штатах этот день смещается от года к году.
Вот карта мирового времени, если интересно. http://www.worldtimezone.com/index_ru.php
hopperspb
25.06.2007, 11:41
Хммм))) В принципе получилось) Но почемуто на 2 часа и еще 20 минут меньше показывает чем время реальное) хотя пишу
time_th = time.getHours()+ 2;
а как тогда целую добавить? пишу "2,2" "2.2" и чегото никакой реакции...
Вообще +2 ...это я конечно дал маху :) У вас ни когда не будет часа ночи :) Надо либо будет проверку на диапазон вводить, либо создавать новую дату, согласно старой + 2.
hopperspb
25.06.2007, 12:09
А что же тогда делать?
Заменил на getUTCHours .. вообще уехали часики толи вперед толи назад)
"перевести стрелки на два часа вперед":
localTime= new Date();
time = new Date( localTime.getTime() + 2*60*60*1000 );
Но если вы берете стандартное время, часы не должны никуда уезжать без этих фокусов. У вас правильно время на компе выставлено? И вам какое время нужно?
var now = new Date();
var h = now.getUTCHours();
var m = now.getUTCMinutes();
var s = now.getSeconds();
trace('GMT> '+ h +':'+ m +':'+ s);
Минуты нужны, потому что например у хитрых индусов стрелки на 2'30" переведены. Ну а на секунды кроме Штирлица никто не смотрит.
P.S. Вы я вижу по подписи земляк, так до гринвича от нас не +2 надо делать, а -4.
trace('сколько до Гринвича> '+ (new Date()).getTimezoneOffset()/60);
hopperspb
25.06.2007, 13:11
"перевести стрелки на два часа вперед":
localTime= new Date();
time = new Date( localTime.getTime() + 2*60*60*1000 );
Но если вы берете стандартное время, часы не должны никуда уезжать без этих фокусов. У вас правильно время на компе выставлено? И вам какое время нужно?
var now = new Date();
var h = now.getUTCHours();
var m = now.getUTCMinutes();
var s = now.getSeconds();
trace('GMT> '+ h +':'+ m +':'+ s);
Минуты нужны, потому что например у хитрых индусов стрелки на 2'30" переведены. Ну а на секунды кроме Штирлица никто не смотрит.
P.S. Вы я вижу по подписи земляк, так до гринвича от нас не +2 надо делать, а -4.
trace('сколько до Гринвича> '+ (new Date()).getTimezoneOffset()/60);
А как эт о всё впихнуть в мой код с первого сообщения?
Запутался уже в конец (((( :o
Мой "код" для новой пустой флешки, в кадр.
У вас переменные называются time_th, time_m, sec_time
у меня h, m, s
впихнуть ну хотя бы так
time=new Date();
sec_time = time.getSeconds();
time_m = time.getUTCMinutes();
time_th = time.getUTCHours();
trace( 'GMT> '+time_th+':'+time_m +':'+ sec_time );// это для отладки
Don Carleone
26.06.2007, 15:38
У меня другой вопрос по часикам. Мне нужно, чтобы были электронные часы, т.е. тупо отображались цифры. Код я сочинил, но время отображается статично, т.е. часы не ходят. Как мне зациклить или сделать так, чтобы время менялось каждый фрейм? Заране спасибо. Код вот:
var hour:Date = new Date;
hourS = hour.getHours();
minuteS = hour.getMinutes();
secondS = hour.getSeconds();
time.htmlText = hourS +' : ' + minuteS + ' : ' +secondS;
function newTime(){
var hour:Date = new Date();
hourS = hour.getHours();
minuteS = hour.getMinutes();
secondS = hour.getSeconds();
time.htmlText = hourS +' : ' + minuteS + ' : ' +secondS;
}
onEnterFrame = newTime;
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.