вывод времени 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, время: 05:14. |