开发者社区> 问答> 正文

请问怎么查询一个月中特定的一天?

研究了很久NSDate,NSDateFormatter和NSCalendar,不知道怎么实现找出一月个中指定一天的功能。比如查询十二月第二个星期一的日期是多少,不知道怎么实现呢?

展开
收起
爵霸 2016-05-27 10:53:29 1743 0
1 条回答
写回答
取消 提交回答
  • // 设置月份中开始的时间
    NSString *str = @"01 - 12 - 2012";
    NSDateFormatter *formatter1 = [[[NSDateFormatter alloc] init] autorelease];
    [formatter1 setDateFormat:@"dd - MM - yyyy"];
    NSDate *date = [formatter1 dateFromString:str];
    NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
    NSDateComponents *weekdayComponents = [gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:date];
    NSInteger weekday = [weekdayComponents weekday];
    int weekNumber = 2;
    int dayOfweek = 2;
    int x = (7 - weekday) * (weekNumber - 1) + dayOfweek;
    // 添加第几个星期
    if(x < 7)
    {
        x += 7 * (weekNumber - 1) + 1;
    }
    else
    {
        x += 7 * (weekNumber - 2) + 1;
    }
    2019-07-17 19:17:20
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载