AJF*_*DIA 1 javascript jquery date
我需要检查日期是否已经过去.这就是我到目前为止所拥有的.JS在这里.
var date = "09/12/2013";
var d = new Date();
var month = d.getMonth() + 1;
var day = d.getDate();
var todaysDate = +(('' + day).length < 2 ? '0' : '') + day + '/' + (('' + month).length < 2 ? '0' : '') + month + '/' + d.getFullYear();
if (date < todaysDate) {
alert("in the past");
} else {
alert("in the future");
}
Run Code Online (Sandbox Code Playgroud)
目前,它说的是过去的日期,应该是将来的日期.我知道我需要将字符串解析为日期,但不知道如何.
救命?
使用该输入格式,您不能使用字符串比较,因为最不重要的值在左侧.注意:我担心这个日期是2013年12月9日.如果你在2013年9月12日做美国式的事情,那么你必须将索引调整到parts下面.
您可以撤消字段:
var date = "09/12/2013";
var parts = date.split('/');
date = parts[2] + "/" + parts[1] + "/" + parts[0];
Run Code Online (Sandbox Code Playgroud)
...然后进行字符串比较(确保以相同的顺序构建"今天"的字符串 - 年/月/日).
如果你打算这样做,你可以继续完成这项工作
var date = "09/12/2013";
var parts = date.split('/');
var date = new Date(parseInt(parts[2], 10), // year
parseInt(parts[1], 10) - 1, // month, starts with 0
parseInt(parts[0], 10)); // day
if (date < new Date()) {
// It's in the past, including one millisecond ago
}
Run Code Online (Sandbox Code Playgroud)
...但是当然,如果你不希望表达式在一毫秒之前成立,你的字符串方法就可以了.