<script>
function dur(d1,d2){
var o1=Date.parse(d1.replace("-","/"))
var o2=Date.parse(d2.replace("-","/"))
return Math.floor(Math.abs(o1-o2)/(1000*3600*24))
}
alert(dur("2002-1-1","2002-2-1"))
alert(dur("2002-3-1","2002-2-1"))
</script>

解决方案 »

  1.   

    <script>
    function dur(d1,d2){
    return Math.floor(Math.abs(Date.parse(d1.replace("-","/"))-Date.parse(d2.replace("-","/")))/(1000*3600*24))
    }
    alert(dur("2002-1-1","2002-2-1"))
    alert(dur("2002-3-1","2002-2-1"))
    </script>
      

  2.   

    <script>
    function Dayminus(asStartvalue,asEndvalue){
    loinStart = asStartvalue.split("-");
    loinEnd   = asEndvalue.split("-");
    var loStart = new Date(loinStart[0],loinStart[1]-1,loinStart[2],0,0,0,0);
    var loEnd   = new Date(loinEnd[0],loinEnd[1]-1,loinEnd[2],0,0,0,0);
    var days=(loEnd.getTime()-loStart.getTime())/(1000*24*3600);
    if(days<0) days=-days;
    return days;

    }
    alert(Dayminus('1919-5-4','1989-6-4'));
    </script>
      

  3.   

    sorry
    <script>
    function Dayminus(asStartvalue,asEndvalue){
    loinStart = asStartvalue.split("-");
    loinEnd   = asEndvalue.split("-");
    var loStart = new Date(loinStart[0],loinStart[1]-1,loinStart[2],0,0,0,0);
    var loEnd   = new Date(loinEnd[0],loinEnd[1]-1,loinEnd[2],0,0,0,0);
    var days=(loEnd.getTime()-loStart.getTime())/(1000*24*3600);
    if(days<0) days=-days;
    return days;

    }
    if(Dayminus('1989-5-4','1989-6-4')>30)
    alert("over 30 days!");
    </script>