вывод времени php + javascript
Здравствуйте!
Для сайта нужно установить часы разных часовых поясов. Делаю на php + javascript но не получается. Опишу задачу. Время необходимо брать из php-функции date. Причем обращение к этой функции должно быть единожды. Вывод часов должен производиться в блоке div с уникальным id для каждой часовой зоны. Время должно обновляться каждую секунду для каждого блока div. Вот что есть: функция php mytime() :
<?
function mytime($offset=0,$hr=0,$min=0,$sec=0) {
$time_server=date("H:i:s");
$time_arr=explode(":",$time_server);
$time_arr[0]+=$offset;
if ($hr) return $time_arr[0];
elseif ($min) return $time_arr[1];
elseif ($sec) return $time_arr[2];
else return $time_arr[0].":".$time_arr[1].":".$time_arr[2];
}
?>
Код страницы:
<script type="text/javascript">
function showTime()
{
var stroke = '<? echo mytime(); ?>';
document
.getElementById('time_div')
.innerHTML=stroke;
setTimeout(showTime,1000); // перерисовать 1 раз в сек.
}
</script>
<h1>time java</h1>
<div id="time_div"></div>
<script type="text/javascript">
showTime();
</script>
Не обновляется контент, часы не идут. Просьба за символическую плату дописать этот скрипт. И реализовать следующее: 1. Сделать несколько строк времени для каждой временной зоны: 0, +1, +3, +9, -5 2. Сделать блоки для вывода времени time_div, time_div1, time_div3... 3. Сделать обновление контента во всех блоках. 4. Обращение к mytime() должно быть 1 раз. Готов оплатить 300рублей за скрипт. |
Цитата:
при локальном обновлении не всё так просто будет. необходимо будет ещё определять разницу между серверным временем и локальным-чтобы определить в каком поясе пользователь.да и время нужно опрашивать локально- Цитата:
|
Значит переменные должны быть глобальными.
Внутри функции showTime() сделал только вывод времени и обновление секунд, минут, часов. В глобальные переменные вынес часы, минуты, секунды. Внутри рекурсивно вызываемой функции showTime() эти глобальные переменные меняются и печатаются в блоки. В итоге так стало:
<br>
<script type="text/javascript">
var stroke = '<? echo mytime(3); ?>';
var timearr = stroke.split(/[:]/);
var hour = parseInt(timearr[0]);
document.write(hour);
var minute = parseInt(timearr[1]);
var second = parseInt(timearr[2]);
var hour1 = hour+1;
if (hour1>23) {hour1=0;}
document.write("hour1: ",hour1);
var hour3 = hour+3;
if (hour3>23) {hour3=hour3-24;}
var hour9 = hour+9;
if (hour9>23) {hour9=hour9-24;}
document.write("hour9: ",hour9);
var hourm5 = hour-5;
if (hourm5<0) {hourm5=24+hourm5;}
document.write("hourm5: ",hourm5);
function showTime()
{
document
.getElementById('clock')
.innerHTML=stroke;
document
.getElementById('clock1')
.innerHTML=hour1+":"+minute+":"+second;
document
.getElementById('clock3')
.innerHTML=hour3+":"+minute+":"+second;
document
.getElementById('clock9')
.innerHTML=hour9+":"+minute+":"+second;
document
.getElementById('clock-5')
.innerHTML=hourm5+":"+minute+":"+second;
second=second+1;
if (second>59) {second=0;minute=minute+1;}
if (minute>59)
{
minute=0;
hour=hour+1;
hour1 = hour+1;
hour3 = hour+3;
hour9 = hrsarr;
hourm5 = hour-5;
}
if (hour>23) {hour=0;}
setTimeout(showTime,1000); // перерисовать 1 раз в сек.
}
</script>
<div id="spacerdiv"> </div>
<div id="citytime">
<div id="city">Лондон</div>
<div id="clock" class="timedisp"></div>
</div>
<div id="spacerdiv"> </div>
<div id="citytime">
<div id="city">Франкфурт</div>
<div id="clock1" class="timedisp"></div>
</div>
<div id="spacerdiv"> </div>
<div id="citytime">
<div id="city">Москва</div>
<div id="clock3" class="timedisp"></div>
</div>
<div id="spacerdiv"> </div>
<div id="citytime">
<div id="city">Токио</div>
<div id="clock9" class="timedisp"></div>
</div>
<div id="spacerdiv"> </div>
<div id="citytime">
<div id="city">Нью-Йорк</div>
<div id="clock-5" class="timedisp"></div>
</div>
<script type="text/javascript"> showTime();</script>
|
| Часовой пояс GMT +3, время: 19:12. |