NSDateComponents weekOfYear returns 错误的日期
NSDateComponents weekOfYear returns wrong date
所以我正在制作一个基本的周选择器,您可以在其中选择周数和年份,并从周起点获取相应的日期。
基本测试场景
let calendar = NSCalendar.currentCalendar()
let components = NSDateComponents()
components.year = 2015
components.weekOfYear = 15
print(calendar.dateFromComponents(components)!)
您可以看到,我将通缉年份设置为 2015 年,将通缉周设置为 15,但我得到的结果是:“2014-12-31 23:00:00 +0000”
...这真的让我很困惑。无论我选择哪一周和哪一年,它总是在 12 月关闭。
预先感谢您的帮助。
weekOfYear
与 yearForWeekOfYear
:
结合使用
let calendar = NSCalendar.currentCalendar()
let components = NSDateComponents()
components.yearForWeekOfYear = 2015
components.weekOfYear = 15
print(calendar.dateFromComponents(components)!)
// 2015-04-05 22:00:00 +0000
Swift 3 及更高版本的更新:
let calendar = Calendar.current
var components = DateComponents()
components.yearForWeekOfYear = 2015
components.weekOfYear = 15
print(calendar.date(from: components)!)
所以我正在制作一个基本的周选择器,您可以在其中选择周数和年份,并从周起点获取相应的日期。
基本测试场景
let calendar = NSCalendar.currentCalendar()
let components = NSDateComponents()
components.year = 2015
components.weekOfYear = 15
print(calendar.dateFromComponents(components)!)
您可以看到,我将通缉年份设置为 2015 年,将通缉周设置为 15,但我得到的结果是:“2014-12-31 23:00:00 +0000”
...这真的让我很困惑。无论我选择哪一周和哪一年,它总是在 12 月关闭。
预先感谢您的帮助。
weekOfYear
与 yearForWeekOfYear
:
let calendar = NSCalendar.currentCalendar()
let components = NSDateComponents()
components.yearForWeekOfYear = 2015
components.weekOfYear = 15
print(calendar.dateFromComponents(components)!)
// 2015-04-05 22:00:00 +0000
Swift 3 及更高版本的更新:
let calendar = Calendar.current
var components = DateComponents()
components.yearForWeekOfYear = 2015
components.weekOfYear = 15
print(calendar.date(from: components)!)