我正在努力处理 javascript 中的日期。我将比较一些输入的日期,但用户和用户输入的日期取决于信息所在的列表。我的问题是比较系统日期和日期选择器日期。系统日期显示格式为“Tue Dec 22 2015 00:00:00 GMT+0000 (GMT)”日期选择器显示 22/12/2015。如何更改系统日期以匹配日期选择器格式,以便我可以比较日期?我想在没有 jQuery 的情况下做到这一点(我知道日期选择器违背了这一点)。
到目前为止,我的日期代码基本上只是将时间设置为 00:00:00。
var today = new Date();
today.setHours(0,0,0,0);
var yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
yesterday.setHours(0,0,0,0);
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
tomorrow.setHours(0,0,0,0);
console.log(today);
var dateTask = document.getElementById("date").value;
console.log(dateTask);
最佳答案
您必须将用户输入解析为 Date
对象。 22/12/2015
不是 Date
构造函数的有效日期字符串,因此您必须自己解析它。
你可以这样做:
var dateSplit= document.getElementById("date").value.split('/'),
dateTask = new Date(dateSplit[2],dateSplit[1]-1,dateSplit[0], 0, 0, 0, 0);
注意:此代码非常基本,在解析真实用户输入时需要增强。
之后您可以像这样比较日期:
today.getTime() === dateTask.getTime()
关于javascript - 需要将新日期与日期选择器进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34425534/