我有代码:
let components = NSDateComponents()
components.month -= 1
let dateInTheMiddleOfPeriod = NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: NSDate(), options: NSCalendarOptions(rawValue: 0))!
但是dateInTheMiddleOfPeriod是2015- 11 -18 06:00:12 +0000,但是我希望2015- 12 -18 06:00:12 +0000,因为我需要上个月的日期。为什么会这样?
最佳答案
您应该使用NSCalendar方法日期,方法是通过加单位从今天减去一个月,然后使用NSCalendar方法组件来获取月份值,如下所示:
var previousMonth: Int {
let cal = NSCalendar.autoupdatingCurrentCalendar()
return cal.component(.Month, fromDate: cal.dateByAddingUnit(.Month, value: -1, toDate: NSDate(), options: [])!)
}
previousMonth // 12
关于ios - 想获得上个月的NSDateComponents问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34848180/