讓NSDate 更優(yōu)美

開源了一個(gè)優(yōu)化NSDate各種處理邏輯的組件,用Swift2.0 寫的。GitHub地址。

讓NSDate使用起來爽很多。下面是介紹

DateSuger

DateSuger 是一個(gè)優(yōu)化Cocoa時(shí)間、日期使用方式的組件。Cocoa的 NSDate、NSDateComponent,NSCalendar等類提供了極其強(qiáng)大的日期處理的功能,但是使用起來卻十分繁瑣。DateSuger就是基于Swift2.0語言的對(duì)日期處理邏輯的一系列的語法糖。

要求

  • iOS8 +
  • Swift 2.0 +

安裝

Cocoapods

pod 'DateSuger'

手動(dòng)

直接將Source目錄下的swift文件導(dǎo)入到工程。

使用

日期編輯

我們想獲得當(dāng)前時(shí)間十天后的NSDate對(duì)象,在Cocoa中是這么做的:

let date1 = NSDate()
let components = NSDateComponents()
components.day = 10
let calenar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let date2 = calenar?.dateByAddingComponents(components, toDate: date1, options: [])

在DateSuger里面一句話就可以代替:

let date3 = NSDate().dateByAddingDays(10)

還想更簡單嗎?還能這樣:

let date4 = NSDate() + .Day(10)

這樣相比于傳統(tǒng)的Cocoa的接口,更加易用和容易理解。計(jì)算1年零3個(gè)月之后:

let date5 = NSDate() + .Year(1) + .Month(3)

就是這么簡單~

日期信息

如果我們要知道今天是幾月,或是星期幾,傳統(tǒng)代碼如下:

let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let components = calendar?.components([.Weekday,.Month], fromDate: NSDate())
let weekday = components?.weekday
let month = components?.month

通過DateSuger可以直接從NSDate實(shí)例中獲取:

let weekday = NSDate().weekday

支持的日期信息有:

Era
Year
Month
Day
Hour
Minute
Second
Quarter
Weekday
WeekdayOridinal
WeekOfMonth
WeekOfYear
DayOfYear

其他信息判斷

DateSuger支持對(duì)一些常用信息的判斷,通過實(shí)例代碼展示:

let v1 = NSDate().isInLeapYear          // 判斷是否是閏年
let v2 = NSDate().isToday               // 判斷是否是今天
let v3 = NSDate().isTomorrow            // 判斷是否是明天
let v4 = NSDate().isYesterday           // 判斷是否是昨天
let v5 = NSDate().isSameDay(someDate)   // 判斷是否和某日期在同一天

快速創(chuàng)建NSDate

能夠通過指定年月日、小時(shí)、分鐘、秒來創(chuàng)建NSDate

let date1 = NSDate.dateWithYear(2015, month: 3, day: 
let date2 = NSDate.dateWithYear(2015, month: 3, day: 28, hour: 3, minute: 12, second: 12)

日期比較

能夠直接通過操作符來比較NSDate,這樣是不是方便了很多

if date1 > date2 {
    //...
}
if date1 >= date2 {
    //...
}
if date1 == date2 {
    //...
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,374評(píng)論 4 61
  • 花在指尖尚宛轉(zhuǎn) 禪院余香醉無眠 紅塵輪回陌上花 十里春風(fēng)共纏綿
    彤曉柔閱讀 572評(píng)論 11 12
  • 靠近你,傷; 離開你,痛; 忘記你,難; 再愛你, 。
    丹頂鶴之閱讀 344評(píng)論 4 0
  • 西瓜子姑娘 我喜歡把瓜子五香和干炒混起來吃。 稱半斤自己喜歡的口味的瓜子,五香也好、焦糖也好、奶香也好,稱好后,再...
    我是劉小mi閱讀 422評(píng)論 1 1
  • 可能因?yàn)閺男∩瞽h(huán)境的原因,一直都是規(guī)規(guī)矩矩,有時(shí)候覺得自己又很靈活,會(huì)用各種方法去完成自己想做的事,有時(shí)候又覺得...
    沒有未來的胖子閱讀 580評(píng)論 0 0

友情鏈接更多精彩內(nèi)容