<script language="javascript"> 
function printdate(){
    var now=new Date();
    var year=now.getYear();
    var month=now.getMonth();
    var day=now.getDay();
  var hour=now.getHours();
  var min=now.getMinutes();
  var sec=now.getSeconds();
  var timeStr=""+year+"年";
  timeStr=timeStr+month+"月";
  timeStr=timeStr+day+"日 ";
  timeStr+=hour;
  timeStr+=((min<10)?":0":":")+min;
  timeStr+=((sec<10)?":0":":")+sec;
  document.clock_form.clock_text.value=timeStr;
  clockId=setTimeout("printdate()",1000);}
</script> 
这段代码有什么错误吗?为什么今天是8.29,它却显示是8月2日呢?

解决方案 »

  1.   

    月是从0开始的~·所以timeStr=timeStr+month+1+"月";把它再加1就成了 
      

  2.   


    <script language="javascript">
    function printdate(){
        var now=new Date();
        var year=now.getYear();
        var month=now.getMonth();
        var day=now.getDay();
    var hour=now.getHours();
    var min=now.getMinutes();
    var sec=now.getSeconds();
    var timeStr=""+year+"年";
    timeStr=timeStr+month+"月";
    timeStr=timeStr+day+"日 ";
    timeStr+=hour;
    timeStr+=((parseInt(min,10) <10)?":0":":")+min;
    timeStr+=((parseInt(sec,10) <10)?":0":":")+sec;
    document.clock_form.clock_text.value=timeStr;
    clockId=setTimeout("printdate()",1000);}
    </script> 
      

  3.   


    function printdate(){ 
        var now=new Date();
        var year=now.getFullYear(); 
        var month=now.getMonth()+1; 
        var day=now.getDate(); 
        var hour=now.getHours(); 
        var min=now.getMinutes(); 
        var sec=now.getSeconds(); 
        var timeStr=""+year+"年"; 
        timeStr=timeStr+month+"月"; 
        timeStr=timeStr+day+"日 "; 
        timeStr+=hour; 
        timeStr+=((min <10)?":0":":")+min; 
        timeStr+=((sec <10)?":0":":")+sec; 
        document.clock_form.clock_text.value=timeStr; 
        clockId=setTimeout("printdate()",1000); 

      

  4.   

    写错<script language="javascript">
        function printdate(){
            var now=new Date();
            var year=now.getYear();
            var month=now.getMonth()+1;
            var day=now.getDate();
            var hour=now.getHours();
            var min=now.getMinutes();
            var sec=now.getSeconds();
            var timeStr=""+year+"年";
            timeStr=timeStr+month+"月";
            timeStr=timeStr+day+"日 ";
            timeStr+=hour;
            timeStr+=((parseInt(min,10) <10)?":0":":")+min;
            timeStr+=((parseInt(sec,10) <10)?":0":":")+sec;
            alert(timeStr)
            //document.clock_form.clock_text.value=timeStr;
            //clockId=setTimeout("printdate()",1000);    }
        printdate()
    </script> 
      

  5.   

    1.getMonth()函数得到的时间少1
    2.日用getDate()函数
      

  6.   

    getDay()是获取星期几,月份要加1
    <script language="javascript"> 
    function printdate(){ 
        var now=new Date(); 
        var year=now.getYear(); 
        var month=now.getMonth()+1
        var day=now.getDate(); 
    var hour=now.getHours(); 
    var min=now.getMinutes(); 
    var sec=now.getSeconds(); 
    var timeStr=""+year+"年"; 
    timeStr=timeStr+month+"月"; 
    timeStr=timeStr+day+"日 "; 
    timeStr+=hour; 
    timeStr+=((min <10)?":0":":")+min; 
    timeStr+=((sec <10)?":0":":")+sec; 
    alert(timeStr)
    //document.clock_form.clock_text.value=timeStr; 
    //clockId=setTimeout("printdate()",1000); } 
    printdate();
    </script> 
      

  7.   

    <script language="javascript">
    function printdate(){
        var now=new Date();
        var year=now.getYear();
        var month=now.getMonth();
        var day=now.getDay();
    var hour=now.getHours();
    var min=now.getMinutes();
    var sec=now.getSeconds();
    var timeStr=""+year+"年";
    timeStr=timeStr+month+"月";
    timeStr=timeStr+day+"日 ";
    timeStr+=hour;
    timeStr+=((parseInt(min,10) <10)?":0":":")+min;
    timeStr+=((parseInt(sec,10) <10)?":0":":")+sec;
    document.clock_form.clock_text.value=timeStr;
    clockId=setTimeout("printdate()",1000);}
    </script>
      

  8.   

    getDay是星期几,今天是星期二,所以显示成2。改成getDate就是当月的的日期。
    getMonth和楼上说的正确
      

  9.   

    有两个错误
    第一:var month=now.getMonth();这里得到的月份应该要+1才行
    第二:得到当前日不是  var day=now.getDay();
         应该是 var day = now.getDate();