簡體   English   中英

如何將用戶輸入的日期字符串轉換為 JavaScript 日期格式

[英]How to convert user entered date string into JavaScript date format

我想在用戶輸入出生日期時計算用戶的年齡。 我通過文本字段獲得了用戶輸入的值。 但我得到的輸出是 NaN。 我認為將字符串轉換為日期時出錯。 這是我的代碼。

 function printage() { var dob = document.getElementById("dob").value; var age; var past; var now; var a; past = dob.getDate(); a = Date.parse(past); now = Date.now(); age = now - past; var millisecond = age; var second = 1000; var minute = second * 60; var hour = minute * 60; var day = hour * 24; var year = day * 365; var years = Math.round(millisecond / (day * 365)); var message = "Age in years" + years; document.getElementById("demo").innerHTML = years; }
 <!DOCTYPE html> <html> <head> </head> <body> <label for="age">Enter your date of birth</label> <input type="text" id="dob" name="dob"> <button onclick="printage()" type="button">Age</button> <p id="demo"></p> </body> </html>

使用past=new Date(dob)而不是getDate()

 <html> <head> </head> <body> <label for="age">Enter your date of birth</label> <input type="text" id="dob" name="dob"> <button onclick="printage()" type="button">Age</button> <p id="demo"></p> <script> function printage() { var dob = document.getElementById("dob").value; var age; var past; var now; var a; past =new Date(dob); console.log(past) a = Date.parse(past); now = Date.now(); age = now - past; var millisecond = age; var second = 1000; var minute = second * 60; var hour = minute * 60; var day = hour * 24; var year = day * 365; var years = Math.round(millisecond / (day * 365)); var message = "Age in years" + years; document.getElementById("demo").innerHTML = years; } </script> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM