天天看點

iOS - OC NSCalendar 月曆前言1、月曆的建立2、月曆的設定3、月曆設定資訊的擷取4、月曆資訊的擷取

NSCalendar 對世界上現存的常用的曆法進行了封裝,既提供了不同曆法的時間資訊,又支援月曆的計算。

NSCalendar -- 月曆類,它提供了大部分的日期計算接口,并且允許您在NSDate和NSDateComponents之間轉換

NSTimeZone -- 時區資訊

NSLocale -- 本地化資訊

NSDate -- 表示一個絕對的時間點

NSDateComponents -- 一個封裝了具體年月日、時秒分、周、季度等的類

NSDateFormatter -- 用來在日期和字元串之間轉換

firstWeekday

大家在使用 dateComponents.weekday 擷取某天對應的星期時,會發現,星期日對應的值為 1,星期一對應的值為 2,星期二對應的值為 3,依次遞推,星期六對應的值為 7,這與我們平時了解的方式不一樣。然後,我們就開始找是不是可以設定這種對應關系。終于,我們在 NSCalendar 中發現了 firstWeekday 這個變量,從字面意思上看貌似就是我們尋找的那個東西。可是,設定過 firstWeekday 後,我們又發現完全沒有作用,真是郁悶啊!其實,大家不必郁悶,因為郁悶也沒用,iOS 中規定的就是周日為 1,周一為 2,周二為 3,周三為 4,周四為 5,周五為 6,周六為 7,無法通過某個設定改變這個事實的,隻能在使用的時候 注意一下這個規則了。那 firstWeekday 是幹什麼用的呢?大家設定一下 firstWeekday,再擷取一下 dateComponents.weekOfYear 或 dateComponents.weekOfMonth,看看傳回的資料是否發生了變化。firstWeekday 的作用确實是修改目前曆法中周的起始位置,但是不能修改周日對應的數值,隻能修改一年或一個月中周的數量,以及周的次序。

1)擷取一個小的機關在一個大的機關裡面的序數

2)擷取一個小的機關在一個大的機關裡面的取值範圍

3)擷取所在月曆機關的開始時間及所在月曆機關的總秒數

繼續閱讀