[英]Better way to deal with date in javascript
我有一个表单,用户必须输入一个开始日期和一个结束日期。 之后,我必须计算该日期的结果以在UI上具有状态:
如何轻松计算? 我的日期格式为:04/21/2015。
您是否要求我通过更改格式(04/21/2015 => 20150421)比较日期并进行比较? 还是使用JS的Date? 还是其他?
提前致谢
获得两个日期对象,如下所示:
// 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
}
然后使用常规运算符进行比较< > ==
您可以为输入日期创建一个日期对象,为当前日期创建另一个日期对象,然后只需对其进行比较。
检查dateObject以便提供正确的日期字符串格式:
var inpDate = $('input').val();
var d = new Date(inpDate);
var today = new Date();
if (inpDate > today) {
return "TO BE DONE";
} else ....
您尝试过http://momentjs.com/吗? 真正易于使用,转换和格式化可以节省您添加更多JavaScript代码的时间,但是可以通过添加库来抵消。
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');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.