使用Javascript返回来自输入类型日期的不正确日期

问题描述:

当我选择一个日期说12/03/2014它回调Tue Dec 02 2014 16:00:00 GMT-0800(太平洋标准时间)前一天我输入?使用Javascript返回来自输入类型日期的不正确日期

<script> 

function getAge() { 
    var today = new Date(); 
    var birthDate = new Date(document.forms["name"]["birth"].value); 
    var age = today.getFullYear() - birthDate.getFullYear(); 
    var m = today.getMonth() - birthDate.getMonth(); 

    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate()+1)) { 
     age--; 
    } 
    document.getElementById('age').innerHTML = birthDate; 
} 
</script> 

<form name='name' onsubmit='return false'> 
    <input type="date" name="birth"> 
<p id='age'></p> 
<button onclick='getAge()'>check</button> 

</form> 
+0

这是一个时区问题。 – Barmar 2014-12-03 09:10:44

+0

我在南非,当我运行代码时,它给了我正确的选择日期。 http://jsbin.com/luvolaboba/1/edit – user3811714 2014-12-03 09:24:07

+0

哦,我看到谢谢 – Arthur 2014-12-03 09:26:51

不正确的日期是由于您的时区设置。这是GMT-8。 考虑使用UTC:http://www.w3schools.com/jsref/jsref_toutcstring.asp

+0

谢谢你的链接 – Arthur 2014-12-03 09:27:34