Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
время сервера |
Философия, технологии, алгоритмы! |
|
Опции темы |
01.12.2005, 13:30 | #1 |
Форумец
Сообщений: 37
Регистрация: 12.04.2004
Не в сети |
время сервера
Люди,помогите!
Нужно в Flash сделать часики на три города: Владивосток - Москва - Токио,надо брать реальное время сервера и от него высчитывать разницу для остальных городов,а как взять время сервера не соображу |
01.12.2005, 13:55 | #2 |
error #65535
Сообщений: 5,240
Регистрация: 16.11.2003
Возраст: 24
Не в сети |
ну насколько я себе представляю флаш, он не имеет к серверу никакого отношения, тк выполняется на клиенте. неужели во флаше нет функций "получить время в GMT"?
если всё таки нет, то можно при формировании html с объектом flash (при условии что сайт динамический) передавать параметром время генерации в gmt+0. что-то вроде param="start_time" value="12:00:00", соответственно во флаше при старте запускается таймер и двигает стрелки. минусы ... (лениво писать) |
03.12.2005, 00:30 | #4 | ||
error #65535
Сообщений: 5,240
Регистрация: 16.11.2003
Возраст: 24
Не в сети |
Цитата:
Цитата:
|
||
06.12.2005, 11:01 | #6 |
error #65535
Сообщений: 5,240
Регистрация: 16.11.2003
Возраст: 24
Не в сети |
даша, во флаше я полный ноль.
идея такова - в вашем ролике при старте часы устанавливаются в некое начальное положение, затем запускается таймер и каждую минуту/секунду вы двигаете часовую/секундную стрелку в точности на 1/60 циферблата. так вот, если начально положение будет равняться текущему "правильному" времени, то ваши часы будут работать тоже правильно, независимо от локального времени машины, где это выполняется. вы следите? задача сводится к передаче вашему ролику начального "верного" времени. как установить извне / получить внутри флаша параметры, думаю вы знаете лучше меня. насколько я себе это представляю, ваш хтмл должен выглядеть примерно так <html><body><object ...><param name="movie" value="/flash.swf?start_time=[1]" /></object></body></html> вместо [1] должно стоять "правильное" на ваш взгляд время, генерируемое на сервере. насчет временных зон подумайте сами |
06.12.2005, 12:12 | #7 |
Форумец
Сообщений: 831
Регистрация: 04.08.2005
Не в сети |
Пример на жабе. Может сообразишь, как во флеш переделать.
<html> <head> <title>Торги</title> <> <link rel="StyleSheet" type="text/css" href="/style.css"/> </head> <body onunload="winrefresh();" bgcolor="#ffffff" text="#151F39" link="#0076CC" vlink="#0076CC" alink="#0076CC" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <?xml version="1.0" encoding="CP1251" standalone="yes"?> <script language="javascript"> var UseEcp = false; </script> <script language="javascript"> var timerRunning = false; var timerID = null; var timeSelect =47.7166666667; start = new Date(); startTime = start.getTime(); function showTimer() { finish = new Date(); finSeco = finish.getSeconds(); finishTime = finish.getTime(); var getTimes = finishTime - startTime; var runTimes = parseInt(getTimes / 1000, 10); var timeLeft = (timeSelect * 60) - runTimes; var hous = (timeLeft >= (60 * 60)) ? parseInt(timeLeft / (60 * 60), 10) : 0; var mins = (timeLeft >= 60) ? parseInt((timeLeft % (60 * 60)) / 60, 10) : 0; var secs = (timeLeft < 60) ? timeLeft : parseInt(timeLeft % 60, 10); var timerValue = ' '; if (timeLeft < 0) { timeLeft = 0; timerValue += 'Торги завершены'; document.all.panel.innerHTML = timerValue; // focus to pop up to top after the time; } else if (isNaN(timeLeft)) { // to get NaN out in Netscape Browser; timerValue += (hous < 10) ? ('0' + hous + ' ч. ') : (hous + ' ч. '); timerValue += (mins < 10) ? ('0' + mins + ' мин. ') : (mins + ' мин. '); timerValue += ''; timerValue += ' (90 мин.)'; document.all.panel.innerHTML = timerValue; } else { timerValue += (hous < 10) ? ('0' + hous + ' ч. ') : (hous + ' ч. '); timerValue += (mins < 10) ? ('0' + mins + ' мин. ') : (mins + ' мин. '); // timerValue += (secs < 10) ? ('0' + secs) : secs; // timerValue += ' (' + parseInt(timeLeft / 60, 10) + ' мин.)'; document.all.panel.innerHTML = timerValue; } timerID = setTimeout('showTimer()', 1000); timerRunning = true; } </script> До окончания торгов: </td> <td width="80%" colspan="2"> <div> <span id="panel">Не определено</span> </div> </td> </tr> </table> <script language="javascript"> showTimer(); </script> |