获取当前一周的日期

遇到一个需求,需要把当前一周的日期展现出来,效果如图

Paste_Image.png

参考链接:

#pragma mark 获取当前一周的时间
- (void)getCurrentWeek
{
    NSDate *now = [NSDate date];
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *comp = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitWeekday
                                         fromDate:now];
    // 得到星期几
    // 1(星期天) 2(星期二) 3(星期三) 4(星期四) 5(星期五) 6(星期六) 7(星期天)
    NSInteger weekDay = [comp weekday];
    // 得到几号
    NSInteger day = [comp day];
    
    NSLog(@"weekDay:%ld day:%ld",weekDay,day);
    
    // 计算当前日期和这周的星期一和星期天差的天数
    long firstDiff,lastDiff;
    if (weekDay == 1) {
        firstDiff = 1;
        lastDiff = 0;
    }else{
        firstDiff = [calendar firstWeekday] - weekDay;
        lastDiff = 7 - weekDay;
    }
    
    self.currentWeekArray = [[NSMutableArray alloc] init];
    for (NSInteger i = firstDiff; i < lastDiff + 1; i ++) {
        //从现在开始的24小时
        NSTimeInterval secondsPerDay = i * 24*60*60;
        NSDate *curDate = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay];               
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"dd"];
        NSString *dateStr = [dateFormatter stringFromDate:curDate];//几号
        [self.currentWeekArray addObject:dateStr];
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,243评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,473评论 4 61
  • Angela静悦人生:(李静原创)且让我也能这样优雅的老去吧…… 生老病死是凡人一生中必经之路,每一个人一生中活出...
    Angela静悦人生阅读 419评论 3 0
  • 今天去机场接朋友和他的父亲,心中有一些淡淡的痛。朋友父亲之前做过一次手术,是那种不好的病,过了几年,这次扩散了,医...
    王延民阅读 1,899评论 4 7
  • 望雨遣怀 暮雨潇潇梧叶稀,自在飞鸟雨中啼。 长恨此身不自由,从此愿化飞鸟去。
    西门听雨阅读 249评论 1 3

友情链接更多精彩内容