NSDateComponents setWeek - 本周查找

Posted

技术标签:

【中文标题】NSDateComponents setWeek - 本周查找【英文标题】:NSDateComponents setWeek - Find this week 【发布时间】:2010-08-24 09:33:10 【问题描述】:

是否可以使用 NSDateComponents 和 setWeek: 找到一年中的当前周?由于 setWeek 使用一年中每周的 1 - 52 形式的数字,我如何找到代表本周的数字?

【问题讨论】:

你的意思是当前日期的星期,对吧? 是的。所以只是一个数字,所以 1 是一年中的第一周。 【参考方案1】:

如果我正确理解您的问题,我认为解决方案很简单,您创建一个当前日期的 NSDateComponents 并获得星期。

    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSUInteger unitFlags = NSWeekCalendarUnit;
    NSDateComponents *dateComponents = [calendar components:unitFlags
                                                   fromDate:[NSDate date] // for current date
                                                    options:0];

    NSUInteger week = [dateComponents week];  // here is your week

【讨论】:

啊!我明白了,我刚刚发现,在回头看之前,我可以这样做: NSDateFormatter *weekFormatter = [[NSDateFormatter alloc] init]; [weekFormatter setDateFormat:@"w"]; NSString *weekDateString = [weekFormatter stringFromDate:curDate]; [weekFormatter 发布]; 注意正确的形式是NSCalendar组件:fromDate:,即。跳过选项:!

以上是关于NSDateComponents setWeek - 本周查找的主要内容,如果未能解决你的问题,请参考以下文章

将 NSDateComponents 与整数进行比较(或将 NSDateComponents 转换为整数)

NSDateComponents : 查找超过 30 天

2 NSDateComponents - 是同一周吗?

NSDateComponents 返回意外结果

NSDateComponents

NSDateComponents 不返回日期