我期望擴展NSDate類,以便能夠引用我們當前處於NSDate中的每週星期二。每週特定日期的NSDate擴展
我知道這可以用NSDateComponents完成。到目前爲止,我有以下:
extension NSDate {
var tuesday: NSDate {
let calendar = NSCalendar.currentCalendar()
let todaysDate = NSDate()
let weekdayComponents = calendar.components(.CalendarUnitWeekday | .CalendarUnitWeekdayOrdinal, fromDate: todaysDate)
weekdayComponents.weekday = 3
let returnTuesday = calendar.dateByAddingComponents(weekdayComponents, toDate: todaysDate, options: nil)
return returnTuesday!
}}
我相信,一個基於索引的系統上CalendarUnitWeekday工作(即星期日= 1,星期六= 7),這就是爲什麼我在週二所需的工作日設置爲3。
但是,當初始化一個NSDate對象並訪問這個擴展的'tuesday'屬性時,我提前一個月收到一個日期。
(今天的日期 - 「2015年8月26日,16:42」) (週二日 - 「2015年9月26日,16:42」)
是什麼造成了一個月的這種進步?有沒有辦法通過擴展NSDate類來返回每週的特定日期?
感謝
正是我在找什麼!謝謝你的明確分解。 –