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