JS中新的Date()问题

时间:2017-04-09 13:29:04

标签: javascript html date dom

我有一个<input type="date">的网页,用户可以在其中选择日期。我使用DOM API方法获取此日期并创建Date对象:

article.createdAt = new Date(form.elements['date'].value);

结果我的日期是正确的,但时间总是相同的,00:00。我希望我成为用户选择日期的时间,或者至少他能够手动设置时间。

需要一些建议。谢谢你的帮助。

3 个答案:

答案 0 :(得分:1)

尝试使用datetime-local代替date

<强>演示

<p>Click the button to create a Local Datetime field.</p>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
    var x = document.createElement("INPUT");
    x.setAttribute("type", "datetime-local");
    x.setAttribute("default-value", "2015-01-02T11:42:13.510");
    x.setAttribute("value", "2015-01-02T11:42:13.510");
    document.body.appendChild(x);
    alert(x.value);
    alert(new Date(x.value));
}
</script>

答案 1 :(得分:0)

有4种方法可以启动日期:

  1. 新日期()
  2. 新日期(毫秒)
  3. 新日期(dateString)
  4. 新日期(年,月,日,小时,分钟,秒,毫秒)
  5. 你可以关注他们,可能会解决你的问题。

    将结果作为此代码public class ProductDB { public static Product getproduct(String productcode) { Product p = new Product(); p.setcode(productcode); if(productcode.equalsIgnoreCase("java")) { p.setdescription("Murach's beginning java"); p.setprice(49.50); } else if(productcode.equalsIgnoreCase("jsps")) { p.setdescription("Murcha's javs servlets and jsp"); p.setprice(49.50); } else if(productcode.equalsIgnoreCase("mcb2")) { p.setdescription("Murcha's mainframe ciobol"); p.setprice(59.50); } else { p.setdescription("unknown"); } return p; } } 的字符串找出 然后你按照第三个数字。

答案 2 :(得分:0)

我认为您没有正确检索日期输入,请检查您的控制台,看看它是否给您带来任何错误,并尝试按照这样的方式获取您的日期

article.createdAt = new Date(form.querySelector("input[type='date']").value);