時間類型是我們在處理業務的時候使用非常頻繁的一個數據類型。下面我們看一下時間NSDate的基本使用方法。
1.比較大小
我比較擅長.NET,我們知道C#里面DateTime類型可以使用">""<""="來直接判斷。但是在Swift里NSDate是不支持這種比較的方式的。我們需要使用NSDate.Compare方法來比較。NSDate.Compare返回一個枚舉NSComparisonResult。這個枚舉包含3個值:
NSComparisonResult.OrderedAscending//時間升序
NSComparisonResult.OrderedSame//相同
NSComparisonResult.OrderedDescending//時間倒序
其中NSDate()默認返回現在時間。所以date2的時間值肯定比date1大。如果想要實現C#里使用">""<""="來比較時間的話,可以使用以上方法重載操作符。
2.計算時間差
我們知道在C#里可以直接對DateTime類型進行減法運算,得到的結果是一個時間差。那么在Swift里如何進行呢。我們使用
NSCalendar.currentCalendar().components來的到2個時間之間間隔的時間。該方法返回一個NSDateComponents類型的對象。NSDateComponents對象表示一段時間,且使用我們更易于讀取的方式來描述:
func diff(from:NSDate,to:NSDate)->NSDateComponents{ let mostUnits: NSCalendarUnit = .YearCalendarUnit | .MonthCalendarUnit | .DayCalendarUnit | .HourCalendarUnit | .MinuteCalendarUnit | .SecondCalendarUnit let components = NSCalendar.currentCalendar().components(mostUnits,fromDate:from, toDate:to, options:nil) return components;}
3.構造時間
有時候我們需要自己構造一個時間。其實就是上面的datePare方法。我們可以指定年月日來構造一個NSDateComponents,然后使用NSCalendar.dateFromComponents方法來構造一個時間。
以上差不多就是NSDate在Swift里最基本的用法。
新聞熱點
疑難解答