簡體   English   中英

如果日期在日期范圍之間

[英]If date between date range

我正在處理兩個日期,例如29/03/201404/04/2014 ,並且我有一系列日期,例如01/04/201402/04/2014 ,我需要找出幾個(如果該數組中的日期)在日期范圍之間。

最好的方法是什么?

編輯:最終代碼,從ponciste的答案中進行了一些調整

//date1 and date2 are the start/end dates
bhDays = new Array();
$.each(DataBridge.bankHolidays, function(i, v) {
    var americanDate = v.split('-'); 
    americanDate = americanDate[1] + '/' + americanDate[0] + '/' + americanDate[2];
    date = new Date(americanDate);
    if (date1 <= date && date2 >= date) {
        bhDays.push(date);
    }
});

在這種情況下最好處理Date對象

因此您的代碼應如下所示:

var strDateFrom = "29/03/2014";
var strDateTo = "04/04/2014";

var dateFrom = strDateFrom.split("/");
var dateTo = strDateTo.split("/");

var dates = ["01/04/2014", "02/04/2014"];

var from = new Date(dateFrom[2], dateFrom[1]-1, dateFrom[0]);
var to   = new Date(dateTo[2], dateTo[1]-1, dateTo[0]);

dates.forEach(function(date) {
    var dateToCheck = new Date(date[2], date[1]-1, date[0]);
    if(dateToCheck > from && dateToCheck < to)
});

Date對象將執行您想要的操作-為每個日期構造一個,然后使用常規運算符比較它們。

構造日期對象並使用<||進行比較 >運算符。

我強烈建議為此使用moment.js庫(以及所有其他具有日期/時間的操作)並使用差分功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM