<script language="JavaScript" type="text/javascript">
    var dayNames = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
    Stamp = new Date();
    document.write("" + Stamp.getYear() + "年" + (Stamp.getMonth() + 1) + "月" + Stamp.getDate() + "日" + " " + dayNames[Stamp.getDay()] + "");
</script>自己写的,复杂点的可以从网上copy,但是还是想用自己会的,然后就写了这个,但是和<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 标准不合,把这句删了就可以正常显示,但是页面布局就全乱套了,但是javascript代码自己又找不出哪里出错了可以改,求大神解惑!

解决方案 »

  1.   

    js没有什么问题应该和规范的申明没有什么关系才对是不是你显示时间的地方让DOM哪里不完整了?或不小心被你划了一刀?
      

  2.   

    @crying_boy 显示年份有问题,2012显示的是112
    我把规范去掉就好了,但是去掉之后其他布局就出现问题了,试过用其他的时间脚本,也是这样子
      

  3.   

    或者,你将Stamp.getYear()改成Stamp.getFullYear()试试
      

  4.   

    突然反应过来。你说的112应该是在非IE浏览器下的结果
    getYear默认是从1900开始的。在非IE中返回的是:当前年份-1900
    但IE不同,在IE下又把它给加回来了兼容的话,使用:getFullYear()吧
      

  5.   

    谢了兄弟,之前我用了好几个浏览器,firefox,safari,opera,ie7、8、9都试过,显示的都是112.
    现在改成getFullYear后好了,这回记住了,有些知识还得重头看一边,运行环境还是有点模糊。