在 Jquery 中用小时和分钟(从变量读取的值)设置时间



我正在编写一个提醒应用程序,我需要用年、月、日、小时和分钟设置日期!所有这些都必须来自不同的输入字段,并转换为单个日期。一切正常,直到我只使用年、月和日,但是一旦我尝试添加小时和分钟,就会在控制台中收到"无效日期"错误。

HMTL
      Esemény ideje (év): <input type="text" id="year">
        <br>
        Esemény ideje (hónap): <input type="text" id="month">
        <br>
        Esemény ideje (nap): <input type="text" id="day">
        <br>
        Esemény ideje (óra): <input type="text" id="hour">
        <br>
        Esemény ideje (perc): <input type="text" id="minute">
JQ
  let year=$("#year").val();
  let month=$("#month").val();
  let day=$("#day").val();
  let hours=$("#hour").val();
  let minutes=$("#minute").val();
  let time = new Date(year+","+month+","+day+","+hours+","+minutes)
  console.log(time);

您已经拥有日期的所有组件;没有必要将它们连接成一个字符串(脆弱的日期解析算法无论如何都会阻塞(。使用 Date 的 2+ 参数构造函数:

new Date(+year, +month - 1, +day, +hours, +minutes);

+ 将变量的字符串值转换为数字,month - 1是必需的,因为 JavaScript 的月份值是 0 索引的:1 月是 0,12 月是 11。

试试这个格式

let time = new Date(month+"/"+day+"/"+year+"/"+" "+hours+":"+minutes+":00")

我认为你错过了秒部分。 请尝试以下操作,并确保您的输入类型为数字

let time = new Date(year+","+month+","+day+","+hours+","+minutes+"00")
console.log(time);

最新更新