2012-02-03 129 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

相关问题