1
下面的代码应该在当年设定的第一天:设置日历单位每月一年
import UIKit
private func getYearStartDate() -> NSDate {
let calendar = NSCalendar.currentCalendar()
var date = calendar.dateBySettingHour(0, minute: 0, second: 0, ofDate: NSDate(), options: [])
date = calendar.dateBySettingUnit(.Month, value: 1, ofDate: date!, options: [])
date = calendar.dateBySettingUnit(.Day, value: 1, ofDate: date!, options: [])
return date!
}
print("startdate=\(getYearStartDate())")
print("enddate=\(NSDate())")
但是,当我检查它的值设置为的第一天明年。
我的结果:
startdate=2017-01-01 02:00:00 +0000
enddate=2016-09-06 13:44:06 +0000
结果我想到:
startdate=2016-01-01 02:00:00 +0000
enddate=2016-09-06 13:44:06 +0000
那么你有什么价值?它给我一个正确的结果。您是否知道'print(date)'以UTC打印日期而不是当地时区? –
我在我的问题中包含了这些值。实际上,'print'中的UTC并不是问题。 –
什么是startdate,enddate?请发布一个可重复的自包含示例,包括打印声明。 –