Qwe1
21-02-2007, 12:54
Мне надо выводить время на сайте средствами JS так, чтобы оно: а) наглядно изменялось (с этим все ясно), б) значение соотвествовало бы не системному времени, а времени на сервере. Я делаю так:
1) в php-скрипте пишу:
<script type="text/javascript">
<!--
c_date('<?echo date("U");?>')
// -->
</script>
2) в JS-скрипт функция выглядит так:
function c_date(cdd)
{
var time=new Date()
time.setTime(cdd)
var rm=new Array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря")
var h=time.getHours()
if(h<10) h="0"+h
var m=time.getMinutes()
if(m<10) m="0"+m
var c_time = time.getDate()+" "+rm[time.getMonth()]+" "+(1900+time.getYear())+" - "+h+" : "+m
document.addnews.news_date.value=c_time;
window.setTimeout('c_date(time.getTime())',1000)
}
Результат:
1) Вначале выводит дату: 14 января 1970 - 16 : 34
2) После срабатывания таймера в JS-скрипте появляется ошибка: "time" - определение отсутсвует.
Как надо сделать правильно?
1) в php-скрипте пишу:
<script type="text/javascript">
<!--
c_date('<?echo date("U");?>')
// -->
</script>
2) в JS-скрипт функция выглядит так:
function c_date(cdd)
{
var time=new Date()
time.setTime(cdd)
var rm=new Array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря")
var h=time.getHours()
if(h<10) h="0"+h
var m=time.getMinutes()
if(m<10) m="0"+m
var c_time = time.getDate()+" "+rm[time.getMonth()]+" "+(1900+time.getYear())+" - "+h+" : "+m
document.addnews.news_date.value=c_time;
window.setTimeout('c_date(time.getTime())',1000)
}
Результат:
1) Вначале выводит дату: 14 января 1970 - 16 : 34
2) После срабатывания таймера в JS-скрипте появляется ошибка: "time" - определение отсутсвует.
Как надо сделать правильно?