swift – NSDateComponents weekOfYear返回错误的日期

所以我正在制作一个基本的周选择器,你可以选择一周的数字和年份,并从周开始点获得相应的日期.

一个基本的测试场景

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月和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)!)

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...