2012-02-03 130 views

回答

4
NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; 
    NSDateComponents *comps = [gregorian components:NSWeekdayCalendarUnit fromDate:[NSDate date]]; 
    int weekday = [comps weekday]; 
    NSLog(@"the wee %d",weekday); 
    NSDate *lastSunday = [[NSDate date] addTimeInterval:-3600*24*(weekday-1)]; 
    NSLog(@"nsdar %@",newDate); 

這讓你在NSDate格式的最後一個星期日..希望這會有所幫助。

+0

感謝您的幫助。 – 2012-02-03 08:06:02

+4

N.B.如果您進行夏時制轉換,則添加24小時的倍數並不一定會在不同日期爲您提供相同的**時間**。如果你只關心日期(即年,月,日),那麼這很好,但如果你關心時間,你應該使用NSCalendar的組件:fromDate:和dateFromComponents:來獲得年份,月份和日期組件,並將(工作日-1)添加到當天。 – yuji 2012-02-06 11:04:19

-1

從當前日期開始過去七天。迭代通過它找到一個星期日的日期。不是最佳解決方案。但它會起作用。

+0

迭代通過什麼?週日價值? – 2012-02-03 07:37:39

+0

過去的七個日期。 @ankit的答案要好得多。 – Vignesh 2012-02-03 07:40:01

相關問題