簡體   English   中英

我想得到本周日的一個問題

[英]An issue when I want to get Sunday of this week

我編寫這些代碼來獲取本周的星期日。

NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents* components = [cal components: NSYearForWeekOfYearCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit fromDate:[NSDate date]];

// I want to get the sunday
[components setWeekday:1];
NSDate* d = [cal dateFromComponents:components];
NSLog(@"Sunday:%@", d);

但是我得到了結果:2012年2月25日,我認為正確的結果應該是2012年2月26日。這是怎么回事?

您需要初始化更多組件:

for (int i = 0; i < 12; i++)
{
    [components setWeek:i];
    [components setWeekday:1];
    d = [cal dateFromComponents:components];
    NSLog(@"Sunday,Week %d:%@", i,d);   
}

Output:

Sunday,Week 0:2011-12-25 08:00:00 +0000
Sunday,Week 1:2012-01-01 08:00:00 +0000
Sunday,Week 2:2012-01-08 08:00:00 +0000
Sunday,Week 3:2012-01-15 08:00:00 +0000
Sunday,Week 4:2012-01-22 08:00:00 +0000
Sunday,Week 5:2012-01-29 08:00:00 +0000
Sunday,Week 6:2012-02-05 08:00:00 +0000
Sunday,Week 7:2012-02-12 08:00:00 +0000
Sunday,Week 8:2012-02-19 08:00:00 +0000
Sunday,Week 9:2012-02-26 08:00:00 +0000
Sunday,Week 10:2012-03-04 08:00:00 +0000
Sunday,Week 11:2012-03-11 08:00:00 +0000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM