Старый 01.12.2005, 13:30   #1   
Форумец
 
Сообщений: 37
Регистрация: 12.04.2004

Daria вне форума Не в сети
Question время сервера

Люди,помогите!
Нужно в Flash сделать часики на три города: Владивосток - Москва - Токио,надо брать реальное время сервера и от него высчитывать разницу для остальных городов,а как взять время сервера не соображу
  Ответить с цитированием
Старый 01.12.2005, 13:55   #2   
error #65535
 
Аватар для maximn
 
Сообщений: 5,240
Регистрация: 16.11.2003
Возраст: 24

maximn вне форума Не в сети
ну насколько я себе представляю флаш, он не имеет к серверу никакого отношения, тк выполняется на клиенте. неужели во флаше нет функций "получить время в GMT"?

если всё таки нет, то можно при формировании html с объектом flash (при условии что сайт динамический) передавать параметром время генерации в gmt+0. что-то вроде param="start_time" value="12:00:00", соответственно во флаше при старте запускается таймер и двигает стрелки. минусы ... (лениво писать)
  Ответить с цитированием
Старый 02.12.2005, 16:00   #3   
Форумец
 
Сообщений: 37
Регистрация: 12.04.2004

Daria вне форума Не в сети
Мне надо чтобы,часики правильно тикали,если даже,неправильно установлено системное время!

Умоляю помогите,срывается очень важный заказ!!!!
  Ответить с цитированием
Старый 03.12.2005, 00:30   #4   
error #65535
 
Аватар для maximn
 
Сообщений: 5,240
Регистрация: 16.11.2003
Возраст: 24

maximn вне форума Не в сети
Цитата:
Сообщение от Daria
Мне надо чтобы,часики правильно тикали,если даже,неправильно установлено системное время!

Умоляю помогите,срывается очень важный заказ!!!!
я же всё сказал, разве нет!?
Цитата:
Сообщение от maximn
если всё таки нет, то можно при формировании html с объектом flash (при условии что сайт динамический) передавать параметром время генерации в gmt+0. что-то вроде param="start_time" value="12:00:00", соответственно во флаше при старте запускается таймер и двигает стрелки. минусы ... (лениво писать)
  Ответить с цитированием
Старый 06.12.2005, 10:27   #5   
Форумец
 
Сообщений: 37
Регистрация: 12.04.2004

Daria вне форума Не в сети
Можно чуть-чуть подробнее для особо тупых.....
  Ответить с цитированием
Старый 06.12.2005, 11:01   #6   
error #65535
 
Аватар для maximn
 
Сообщений: 5,240
Регистрация: 16.11.2003
Возраст: 24

maximn вне форума Не в сети
даша, во флаше я полный ноль.

идея такова - в вашем ролике при старте часы устанавливаются в некое начальное положение, затем запускается таймер и каждую минуту/секунду вы двигаете часовую/секундную стрелку в точности на 1/60 циферблата.

так вот, если начально положение будет равняться текущему "правильному" времени, то ваши часы будут работать тоже правильно, независимо от локального времени машины, где это выполняется.

вы следите?

задача сводится к передаче вашему ролику начального "верного" времени. как установить извне / получить внутри флаша параметры, думаю вы знаете лучше меня.

насколько я себе это представляю, ваш хтмл должен выглядеть примерно так
<html><body><object ...><param name="movie" value="/flash.swf?start_time=[1]" /></object></body></html>

вместо [1] должно стоять "правильное" на ваш взгляд время, генерируемое на сервере.

насчет временных зон подумайте сами
  Ответить с цитированием
Старый 06.12.2005, 12:12   #7   
Форумец
 
Аватар для Ray79
 
Сообщений: 831
Регистрация: 04.08.2005

Ray79 вне форума Не в сети
Пример на жабе. Может сообразишь, как во флеш переделать.

<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>
  Ответить с цитированием
Поиск в теме: 


Опции темы

Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind