iOS里怎么获取某个月的某一天

我需要获取当前月的第几天。举个例子,获取当前月的第一天
我想到的做法是

NSDate *today = [NSDate date];  // 返回2013年2月28日
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
components.day = 1;
NSDate *firstDay = [cal dateByAddingComponents:components toDate:today options:0];

这个时候firstDay得到的结果是2013年3月1日,不是当前月。。。
我要怎么准确获取当前月的第一天呢?

阅读 10.2k
1 个回答
NSDate *now = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *comps = [cal 
    components:NSYearCalendarUnit | NSMonthCalendarUnit
    fromDate:now];
comps.day = 1;
NSDate *firstDay = [cal dateFromComponents:comps];
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏