Javascript JS中的new Date()存在问题

Javascript JS中的new Date()存在问题,javascript,html,date,dom,Javascript,Html,Date,Dom,我有一个带有的网页,用户在其中选择日期。我使用DOM API方法获取此日期,并创建一个日期对象: article.createdAt=新日期(form.elements['Date'].value) 因此,我的日期是正确的,但时间总是一样的,00:00。我希望我是用户选择日期的时间,或者至少他能够手动设置时间 我需要一些建议。谢谢您的帮助。尝试使用datetime local而不是date 演示 单击按钮创建本地日期时间字段 试试看 函数myFunction(){ var x=document

我有一个带有
的网页,用户在其中选择日期。我使用DOM API方法获取此日期,并创建一个日期对象:

article.createdAt=新日期(form.elements['Date'].value)

因此,我的日期是正确的,但时间总是一样的,00:00。我希望我是用户选择日期的时间,或者至少他能够手动设置时间


我需要一些建议。谢谢您的帮助。

尝试使用
datetime local
而不是
date

演示

单击按钮创建本地日期时间字段

试试看 函数myFunction(){ var x=document.createElement(“输入”); x、 setAttribute(“类型”、“日期时间本地”); x、 setAttribute(“默认值”,“2015-01-02T11:42:13.510”); x、 setAttribute(“值”,“2015-01-02T11:42:13.510”); 文件.正文.附件(x); 警报(x值); 警报(新日期(x值)); }
有4种开始日期的方式:

  • 新日期()
  • 新日期(毫秒)
  • 新日期(日期字符串)
  • 新日期(年、月、日、小时、分钟、秒、毫秒)
  • 你可以跟随他们,也许你的问题会得到解决

    以此代码的字符串形式查找结果
    form.elements['date']。value

    然后,按照第三个数字进行操作。

    我认为您检索的日期输入不正确,请检查您的控制台,查看是否有任何错误,然后尝试这样获取您的日期

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

    创建另一个没有参数的日期实例,并复制小时和分钟。@Nikita您能给我看看您的HTML&JS代码日期控件返回的实际值是多少吗?它应该类似于“2017-04-10”。我想你的意思是实例化而不是启动hanks,这很有效。也许你可以告诉我,如果不考虑我的时区,我应该怎么做才能安排新的约会?例如,我输入04:33 AM,新日期以07:33 AM的时间创建(我的时区是UTC+3)。您不必在此处使用
    .setAttribute()
    。可以直接设置DOM元素的“类型”、“默认值”和“值”属性。@ NigKiSavaVoimic时区是因为“代码> T 在中间。在将输入传递给
    Date
    constructor之前,可以删除该
    T
    。只有代码的答案没有多大帮助。您应该解释代码修复OP问题的原因或方式。您依赖内置解析器正确解析“2015-01-02T11:42:13.510”,这不是一个好主意。@RobG基本上,答案是将
    type=“date”
    替换为
    type=“datetime local”
    ,这样日期对象本身就带有时间值。我同意传递日期并不完全正确,但我假设OP将解析用户输入的日期,而不是设置自己的日期。如果控件在表单中,那么要成功,它必须有一个名称,因此
    form.controlName.value
    更健壮,键入的次数更少。;-)此外,这并没有解决获取与日期关联的时间的问题。