我通过在当前日期添加天数来生成7个日期。我在数组中添加所有日期。 现在,当我选择任何日期时,它会拉出正确的日期。然后我创建该日期的组件。现在,当我打印组件时,它会将日期(日期部分)显示为下一天的日期。 因此,如果选择27-05-2016,然后获取其组件,当我检查component.day时,它给我28而不是27。
以下是我生成日期的代码:
let cal = NSCalendar.currentCalendar()
// start with today
let selectedDate = cal.startOfDayForDate(NSDate())
for index in 1...7 {
dateArray.addObject(selectedDate.dateByAddingTimeInterval(Double(index)*24*60*60))
print(dateArray.objectAtIndex(index-1))
}
以下是我从上面的数组中选择日期并获取其组件的代码:
if currentIndexPosition>=0 {
selectedDate = dateArray.objectAtIndex(currentIndexPosition) as? NSDate
}
else
{
selectedDate = dateArray.objectAtIndex(0) as? NSDate
}
let cal = NSCalendar.currentCalendar()
let components = cal.components([.Day , .Month, .Year, .Hour,.Minute ], fromDate: selectedDate!)
现在,当我检查组件时,日期与我从数组中选择的日期不同。它比选定日期多一个。
如果我遗漏了任何内容或者您需要任何其他信息,请告诉我。
由于