【发布时间】:2016-03-23 14:07:59
【问题描述】:
我有以下代码:
func rangeOfPeriod(period: NSCalendarUnit, date: NSDate) -> (NSDate, NSDate) {
let calendar = NSCalendar.currentCalendar()
var startDate: NSDate? = nil
var duration: NSTimeInterval = 0
calendar.rangeOfUnit(period, startDate: &startDate, interval: &duration, forDate: date)
let endDate = startDate!.dateByAddingTimeInterval(duration - 1)
return (startDate!, endDate)
}
当我打印以下行时:
print("Day test = \(rangeOfPeriod(.Day, date: NSDate()))")
print("Week test = \(rangeOfPeriod(.WeekOfYear, date: NSDate()))")
print("month test = \(rangeOfPeriod(.Month, date: NSDate()))")
print("Year test = \(rangeOfPeriod(.Year, date: NSDate()))")
除了月份之外,它们都按预期工作。
结果我得到“月测试 = (2016-03-01 00:00:00 +0000, 2016-03-31 22:59:59 +0000)”,它似乎缺少一个小时。对于所有其他人,我得到'2016-03-26 23:59:59 +0000'。
任何帮助将不胜感激
【问题讨论】:
标签: swift nsdate nscalendar nstimeinterval