Секундомер

Статус
В этой теме нельзя размещать новые ответы.
вот, отсчет в секундах до указанной даты/времени - mktime(); от текущего времени сервера
PHP:
<form name="counter"><input type="text" size="8"
name="d2"></form>
<script> <!--
//
var milisec=0
<?php
putenv('TZ=Europe/Moscow');
$target_sec_time = mktime(22, 0, 0, 07, 6, 2010);   // отсчет до даты - формат (hour,minute,second,month,day,year)
$current_sec_time = date('U'); // текущее время сервера
$time_sec = $target_sec_time - $current_sec_time;
echo "var seconds={$time_sec}";
?>
 document.counter.d2.value='30'
function display(){ 
 if (milisec<=0){ 
    milisec=9
    seconds-=1
 } 
 if (seconds<=-1){ 
    milisec=0 
    seconds+=1 
 } 
 else 
    milisec-=1 
    document.counter.d2.value=seconds
    setTimeout("display()",100) 
} 
display()
--> </script>
а как сделать что бы было часы, мин., сек, дни?

Добавлено через 4 минуты
В случае реализации на PHP - как показано у pitkina, время будет браться с сервера, на которм скрипт работает - этого будет достаточно, чтобы у всех пользователей, кто откроет страничку, время шло одинаково.
да этого будет более чем достаточно.
 
вывод в формате - дней/часов/минут/секунд, если время истечет - показывает нули

PHP:
<form name="counter"><input type="text" size="50" name="d2"></form>
<script> <!--//
var milisec=0 
<?php 
putenv('TZ=Europe/Moscow'); 
$target_sec_time = mktime(20, 0, 0, 07, 9, 2010);   // отсчет до даты - формат (hour,minute,second,month,day,year)
$current_sec_time = date('U'); // текущее время сервера
$time_sec = $target_sec_time - $current_sec_time;
if ($time_sec<0) $time_sec=0;
echo "var seconds={$time_sec}";
?> 
 document.counter.d2.value='30' 
function display(){
 if (milisec<=0){  
    milisec=9 
    seconds-=1 
 }  
 if (seconds<=-1){
    milisec=0
    seconds+=1
 }  
 else
    milisec-=1
    function split_time(a)
{
var days=Math.floor(a/86400);
var hours=Math.floor(a/3600)-(days*24);
var minutes=Math.floor(a/60)-(hours*60)-(days*1440);
var seconds=a-(hours*3600)-(minutes*60)-(days*86400);

var ds=' дней'; hs=' час';var ms=' минут';var ss=' секунд';
if (days<4) {ds =' дня'}
if (days<2) {ds =' день'}
if (hours!=1) {hs+='ов'}
if (minutes<5) {ms+=''}
if (seconds<5) {ss+=''}
return 'осталось: '+days+ds+', '+hours+hs+', '+minutes+ms+', '+seconds+ss
}
    document.counter.d2.value=split_time(seconds)
    setTimeout("display()",100)  
}  
display() 
--> </script>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху