[英]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.