簡體   English   中英

快速比較給定數組和兩個日期范圍中的日期

[英]Compare dates from given array and two date ranges swift

嗨,我有一個與給定日期范圍進行日期比較的問題場景,場景如下:

我有一個包含數據的數組:

var filter1Date = [String]()

filter1Date[Wed, 06 May 2015 03:44:19 GMT, Wed, 06 May 2015 03:36:27 GMT, Wed, 06 May 2015 02:56:51 GMT, Wed, 06 May 2015 01:54:25 GMT, Tue, 05 May 2015 19:17:18 GMT, Wed, 06 May 2015 02:57:59 GMT, Wed, 06 May 2015 02:07:38 GMT, Wed, 06 May 2015 01:53:14 GMT, Tue, 05 May 2015 14:30:10 GMT, Tue, 05 May 2015 14:04:34 GMT]

現在我有兩個日期,其給出了與兩個日期例如:

var fromDate = "dd-MM-yyyy"
var toDate = "dd-MM-yyyy"

現在我想將filter1Date變量數組與范圍fromDatetoDate變量進行比較

由此我必須從filter1Date獲取這些日期之間的數據,有人可以幫助我嗎?

要比較兩個NSDates您可以使用NSDate.compare()方法。 我為 NSDate 編寫了一個擴展來處理這個問題:

extension NSDate
{
    func isInRange(from: NSDate, to:NSDate) -> Bool
    {
        if(self.compare(from) == NSComparisonResult.OrderedDescending || self.compare(from) == NSComparisonResult.OrderedSame)
        {
            if(self.compare(to) == NSComparisonResult.OrderedAscending || self.compare(to) == NSComparisonResult.OrderedSame)
            {
                // date is in range
                return true
            }
        }
        // date is not in range
        return false
    }
}

然后你可以像這樣使用它:

var dates:[NSDate] = ... // your dates array

var startDate:NSDate // your start range date
var endDate:NSDate // your end range date

for date in dates
{
   if(date.isInRange(startDate, to: endDate))
   {
      //date is in range, do something
   }
   else
   {
      //date is not in range
   }
}

暫無
暫無

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

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