假設我想在「星期五下午3:00」創建日期。在給定時間創建NSDate
我今天知道的是星期一(日= 1)。星期五是第6天。我知道我想要創建的小時數是15.
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:6];
[comps setMonth:currentDate.month];
[comps setYear:currentDate.year];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:comps];
這可能在某些情況下工作我猜。但是,如果星期五與今天不同,那麼不是。有沒有一個強大的解決方案,或者我必須手動計算我提到的邊緣案例?
編輯:我不知道該月份的日期或建議日期的年份。我知道今天的日子。我只知道擬議日期的那一天,而且這是從現在開始的那一天的下一個日期。所以,下個星期五下午三點從現在開始。
僅供參考 - 週一爲2天,而不是1和'setDay'是每月的一天,而不是工作日。因此,將它設置爲「6」是本月的第6天,而不是星期五。 – rmaddy 2014-09-22 23:24:22