Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Помогите разобраться с кодом:серверное время (http://www.flasher.ru/forum/showthread.php?t=77392)

slavna 24.03.2006 09:12

Помогите разобраться с кодом:серверное время
 
Помогите разобраться с кодом.
Необходимо сделать часы на флеше, которые будут показывать время на сервере.
Но к сожалению часы показывают локальное время. Не могу понять в чем дело.
Начальное время на сервере он должен брать с пхп файла myscript.php
Где ошибка? :confused:
Код:

<?php
echo "&myhour=".date("H")."&mymin=".date("i")."&mysec=".date("s");
?>

Код на Action script
Код:

loadVariablesNum("myscript.php", 0);
time = new Date(loadVariablesNum);
hours = time.getHours();
if (hours>=24) {
        hours = hours-24;
}
if (hours<12 and hours>=0) {
        ampm = "AM";
} else {
        ampm = "PM";
}
minutes = time.getMinutes();
seconds = time.getSeconds();
hours = hours*30+int(minutes/2);
minutes = minutes*6+int(seconds/10);
seconds = seconds*6;


Parker 24.03.2006 10:03

Первое php-файл дает тебе string-тип, второе не используй конструкции getMinutes();и тп - они то тебе и возвращают время локальной машины, твоя задача проста получил string и и делай с ним что хочешь. Третье в твоем коде - часы покажут время того момента когда отработал код php - далее они будут стоять на месте - выход написать функцию, которая будет забирать с сервака данные по времени и вызывай ее через интервал, НО гонять постоянно данные между серваком и клиентом - в данном случае ни есть гуд. Вариант загрузи один раз данные с сервера, затем просчитай разницу между серверным и локальным временем - и выводи время локальной машины с поправкой на выше упомянутую разницу.

slavna 24.03.2006 12:58

А что использовать вместо getMinutes()? В Экшн скрипт я чайник и не знаю как можно реализовать данную задачу. Можно как-нить поконкретнее в виде кода показать как?

Parker 24.03.2006 13:35

Если тебе не горит, тогда сделаю это тебе к понедельнику, если работой не загрузят

slavna 24.03.2006 13:40

Parker, спасиб тебе огроменный. Буду очень признательна если ты мне поможешь это сделать. Буду очень ждать. :)

Parker 27.03.2006 08:53

slavna, ты извини не смог я сделать тебе исходник, работой загрузили, если еще нужно то как смогу сделаю. А так, попробуй загрузить переменные из твоего php файла, и попробуй поработать с ними. Тебе нужно во-первых, получить три переменные (используй loadVars). Далее получи локальное время - часы, минуты, секунды, затем высчитай разницу по ним с серверным временем, и затем выводи локальное время с поправкой на разницу (тут правда придется условия еще просчитывать - что б не получилось больше допустимых и отрицательных значений).

Parker 27.03.2006 09:02

Вот держи код, который получат локальное время машины:

Код:

today = new Date();
dayhour = today.getHours();
dayminute = today.getMinutes();
daysecund = today.getSeconds();

//условия, чтобы время имело нормальный вид:
if (dayminute<10) {
        dayminute = "0"+dayminute;
}
if(daysecund<10) {
        daysecund = "0"+daysecund;
}

trace(dayhour+":"+dayminute+":"daysecund);


slavna 27.03.2006 09:22

Вложений: 1
Исходник,

Parker 27.03.2006 10:43

Постараюсь до завтра сделать

zlibeg 06.11.2007 13:39

решили эту проблему?
выложите плз исходник


Часовой пояс GMT +4, время: 05:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.