本文最后更新于2019年02月16日;如遇问题,请留言及时通知站长。

想写个脚本计算一下宝宝的出生日期,去网上查了一下,又增加了样式(见首页),代码如下:

<script language="JavaScript">
  //计算天数差的函数,通用
  function DateDiff(sDate1, sDate2)
  { //sDate1和sDate2是2002-12-18格式
   var aDate, oDate1, oDate2, iDays
    aDate = sDate1.split("-")
    oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])  //转换为12-18-2002格式
   aDate = sDate2.split("-")
    oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
    iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24)  //把相差的毫秒数转换为天数
   return iDays
  } 
    s1 ="2006-09-20"
    var now=new Date();
    var year=now.getYear();
    var month=now.getMonth()+1; //注意这一句
    var day=now.getDate();
    s2=year+"-"+month+"-"+day; 
    document.write(DateDiff(s1,s2));
</script>

网上的经常写成 var month = now.getMonth ,这是不对的,原因在于JScript的getMonth函数返回的结果为0~11范围内的数,因此需要再加1,才能得到正确的结果,类似的返回星期几也是0~6。