簡體   English   中英

日期月份是否在日期范圍內

[英]Is date month in date range

我有 2 個日期范圍,如下所示:

范圍 1: fromDate = 12/27/2015 toDate = 02/10/2016

范圍 2:startOfMonth = 01/01/2016 endOfMonth = 01/31/2016

如果從/到日期范圍在 startMonth / endMonth 范圍內,即使只有 1 天,我想要做的是返回一個布爾值 (true)。 我一次顯示 1 個月,因此在我的示例中,如果我選擇 12 月 15 日、1 月 16 日或 2 月 16 日,這將返回 true。

從/到日期范圍可能是重疊的月份、一個月內的幾天或一個月中的一天。 如果日期在 startMonth-endMonth 范圍內,那么我只想返回一個布爾值。 我嘗試了各種日期比較操作,但由於有 2 個基於所選月份評估的日期范圍,因此似乎無法正常工作。

到目前為止,我所做的工作是以下內容,它幾乎可以滿足我的需要,但不涵蓋上面的范圍 1。 2 月 16 日不再有效。

if ((monthStart >= fromDate && monthEnd <= toDate) || (monthStart <= fromDate && monthEnd >= toDate))

任何幫助或指示將不勝感激。

為什么不檢查:

if(startOfMonth >= fromDate  && endOfMonth <= toDate) { /* ... */ } else { /* ... */ }

我已經使用以下邏輯進行了這項工作。

if ((fromDate <= monthEnd) && (toDate >= monthStart)
{
    return true;
}

現在可以正確顯示范圍。 在我的示例范圍內

從日期 = 12/27/2015

toDate = 02/10/2016

我在 12 月 15 日、1 月 16 日和 2 月 16 日收到了真實的回復。

暫無
暫無

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

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