关于javascript的时间错位问题

服务器时间:<font id="time"></font>
<script type="text/javascript">
function $(i){return document.getElementById(i)}
<?
  date_default_timezone_set('Asia/Shanghai');
  $dd = date('Y:m:d:H:i:s');
  $dd = explode(':' , $dd);
?>

var x = new Array("星期日", "星期一", "星期二","星期三","星期四", "星期五","星期六");

var d = new Date(<?=$dd[0]?>,<?=$dd[1]?>,<?=$dd[2]?>,<?=$dd[3]?>,<?=$dd[4]?>,<?=$dd[5]?>);
var xx=0;
var ss = <?=$dd[5]?>;
function get_time(){
  d.setSeconds(ss+1);
  ss++;
  if (ss>59) ss=1;
  $('time').innerHTML=d.getFullYear() + '年' + (d.getMonth())  + '月' + d.getDate() + '日 ' + x[d.getDay()] + ' ';
$('time').innerHTML += d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
}
setInterval('get_time()',1000);
</script>

这个值输出的日期总是比实际上的要快两天,就比如 服务器时间:2009年11月25日 星期五 14:30:57   可是实际时间今天明明是周三啊。

我做了下测试这样输出也是正确的。

<script type="text/javascript">
var d = new Date();
var x = new Array("星期日", "星期一", "星期二","星期三","星期四", "星期五","星期六");
document.writeln(x[d.getDay()]);
</script>

不明白求教。