我有一个表单,用户必须输入一个开始日期和一个结束日期。之后,我必须计算此日期的结果才能在UI上显示状态:
我如何轻松地计算?我在表格中的日期是格式:04/21/2015。
您是否建议我通过更改格式(04/21/2015 => 20150421)来比较日期并进行比较?或者使用JS的日期?或其他什么?
提前致谢
答案 0 :(得分:1)
获取两个这样的日期对象:
// parse a date in mm/dd/yyyy format
function parseDate(input) {
var parts = input.split('/');
// new Date(year, month [, day [, hours[, minutes[, seconds[, ms]]]]])
return new Date(parts[2], parts[0]-1, parts[1]); // Note: months are 0-based
}
然后使用常规运算符< > ==
答案 1 :(得分:0)
您可以为输入日期创建日期对象,为当前日期创建另一个日期对象,然后只需比较它们。
检查dateObject以提供正确的日期字符串格式:
var inpDate = $('input').val();
var d = new Date(inpDate);
var today = new Date();
if (inpDate > today) {
return "TO BE DONE";
} else ....
答案 2 :(得分:0)
你试过http://momentjs.com/吗?真正易于使用,转换和格式化可以节省您添加更多JavaScript代码的时间,但是通过添加库可以抵消它。
答案 3 :(得分:0)
function getStatusByDate(startDate, endDate) {
var currentTime = new Date().getTime();
var startTime = new Date(startDate).getTime();
var endTime = new Date(endDate).getTime();
console.log(startTime, endTime);
if (startTime < endTime && endTime < currentTime) {
return ('DONE');
} else if (startTime < endTime && endTime > currentTime && startTime < currentTime) {
return ('IN PROGRESS');
} else if (startTime < endTime && startTime > currentTime) {
return ('TO BE DONE');
} else {
return ('INVALID INPUT');
}
}