0
我有一些事件,我需要計算NSDates。 例如,我試圖在上午8:00得到下一個星期一。如何獲得特定的下一天和時間的NSDate
所以我嘗試了一些東西,但沒有任何工程
1.
let nexMonday = NSCalendar.currentCalendar().dateBySettingUnit(NSCalendarUnit.Weekday, value: 2, ofDate: startDate, options: NSCalendarOptions.MatchNextTime)
let nexMondayEight = NSCalendar.currentCalendar().dateBySettingUnit(NSCalendarUnit.Hour, value: 8, ofDate: nexMonday!, options: NSCalendarOptions.MatchNextTime)
我得到:
2016年4月12日05:00:00 +0000 - (時間不同的是我當地的時間格林威治標準時間-3)
這就是星期二在8.
2.
let unitFlags: NSCalendarUnit = [.Day, .Month, .Year]
let comp = NSCalendar.currentCalendar().components(unitFlags, fromDate: NSDate())
comp.timeZone = NSTimeZone.localTimeZone()
comp.weekday = 1
comp.hour = 8
comp.minute = 0
comp.second = 0
let compDate = NSCalendar.currentCalendar().dateFromComponents(comp)
print("time: \(compDate!)")
我得到:
2016年4月11日05:00:00 +0000
今天在那,而不是下一個8
有什麼建議嗎? 謝謝
我發現了一個類似的帖子,可以幫助:http://stackoverflow.com/questions/18148224/get-next-monday-date-in-ios – Pankaj
對於第一種方法,你需要檢查一下是否'NSCalendar.currentCalendar()'的第一天是星期一或星期日 – zcui93