nsdate-ios-获取一星期的始末日期

问题描述

ios-获取一星期的始末日期

代码:

NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger weekNumber =  [[calendar components: NSWeekCalendarUnit fromDate:date] week];

应该如何获取这个星期的始末日期(周一到周日)?
还有能不能获取同一星期内所有的日期数组?

解决方案

获取日期:

 NSDate *today = [NSDate date];
 NSLog(@"Today date is %@",today);
 dateFormat = [[NSDateFormatter alloc] init];
 [dateFormat setDateFormat:@"yyyy-MM-dd"];// you can use your format.

 //Week Start Date 

 NSCalendar *gregorian = [[NSCalendar alloc]        initWithCalendarIdentifier:NSGregorianCalendar];

NSDateComponents *components = [gregorian components:NSWeekdayCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:today];

int dayofweek = [[[NSCalendar currentCalendar] components:NSWeekdayCalendarUnit fromDate:today] weekday];// this will give you current day of week

[components setDay:([components day] - ((dayofweek) - 2))];// for beginning of the week.

NSDate *beginningOfWeek = [gregorian dateFromComponents:components];
NSDateFormatter *dateFormat_first = [[NSDateFormatter alloc] init];
[dateFormat_first setDateFormat:@"yyyy-MM-dd"];
dateString2Prev = [dateFormat stringFromDate:beginningOfWeek];

weekstartPrev = [[dateFormat_first dateFromString:dateString2Prev] retain];

NSLog(@"StartDate:%@",weekstartPrev);

//Week End Date

 NSCalendar *gregorianEnd = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

 NSDateComponents *componentsEnd = [gregorianEnd components:NSWeekdayCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:today];

 int Enddayofweek = [[[NSCalendar currentCalendar] components:NSWeekdayCalendarUnit fromDate:today] weekday];// this will give you current day of week

 [componentsEnd setDay:([componentsEnd day]+(7-Enddayofweek)+1)];// for end day of the week

 NSDate *EndOfWeek = [gregorianEnd dateFromComponents:componentsEnd];
 NSDateFormatter *dateFormat_End = [[NSDateFormatter alloc] init];
 [dateFormat_End setDateFormat:@"yyyy-MM-dd"];
 dateEndPrev = [dateFormat stringFromDate:EndOfWeek];

 weekEndPrev = [[dateFormat_End dateFromString:dateEndPrev] retain];
  NSLog(@"EndDate:%@",weekEndPrev);
时间: 2024-10-02 12:50:50

nsdate-ios-获取一星期的始末日期的相关文章

PHP获取当前星期(月份)的日期范围

  程序需要,写了一个获取当前星期的日期范围,也就是从星期一到星期日的日期范围. function getWeekRange($date){ $ret=array(); $timestamp=strtotime($date); $w=strftime('%u',$timestamp); $ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)*86400); $ret['edate']=date('Y-m-d 23:59:59',$timesta

ios获取系统当前日期,一定日期格式的代码

NSDate *  senddate=[NSDate date];   NSDateFormatter  *dateformatter=[[NSDateFormatter alloc] init];   [dateformatter setDateFormat:@"YYYYMMdd"];   NSString *  locationString=[dateformatter stringFromDate:senddate];     NSLog(@"locationStrin

iOS开发之获取当前星期程序代码

把当前的日期转换为星期几 - (void)getWeek {     NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];     NSDate *now;     NSDateComponents *comps = [[NSDateComponents alloc] init];     NSInteger unitFlags = NSYearCalendarUni

IOS获取通讯录联系人信息

IOS获取系统通讯录联系人信息 一.权限注册 随着apple对用户隐私的越来越重视,IOS系统的权限设置也更加严格,在获取系统通讯录之前,我们必须获得用户的授权.权限申请代码示例如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31     //这个变量用于记录授权是否成功,即用户是否允许我们访问通讯录     int __block tip=0;     //声明一个通讯

详解iOS获取通讯录的4种方式_IOS

本文实例为大家分享了iOS获取通讯录的4种方式,供大家参考,具体内容如下 使用场景 一些App通过手机号码来推荐好友,如 微博.支付宝 首先客户端会获取通讯录中的所有手机号然后将这些手机号提交到App服务器中,服务器会查找每个手机号对应的App账号如QQ号码返回到客户端,然后客户端根据服务器返回的账号列表来推荐好友. 获取联系人方式 方案一:AddressBookUI.framework框架 提供了联系人列表界面.联系人详情界面.添加联系人界面等 一般用于选择联系人 方案二:AddressBoo

js获取当前日期时间及其它日期操作汇总_javascript技巧

本文实例为大家分享了javascript时间操作的使用常见场景,供大家参考,具体内容如下 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,

iOS 获取当前时间格式化字符串

iOS 获取当前时间格式化字符串 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. // 获取系统当前时间 NSDate * date = [NSDate date]; NSDateFormatt

iOS获取和监测设备基本信息——UIDevice的使用

iOS获取和监测设备基本信息--UIDevice的使用 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //获取当前设备单例 + (UIDevice *)currentDevice; //获取当前设备名称  @property(nonatomic,readonly,strong) NSString    *name;              // e.g. "My iPhone" //获取当前设备模式 @prope

ios-哪位大虾能够解决:IOS获取是否飞行模式状态,不能用reachability

问题描述 哪位大虾能够解决:IOS获取是否飞行模式状态,不能用reachability 应用场景是获取苹果手机是否处于飞行模式状态,但不能通过reachability来判断是否只有网络状态,用networkcontroller和coretelephony两个判断能够解决大部分问题,但发现有4个版本的操作系统返回不正确,因此无法通用,不知道如何是好了,有哪位大虾出手相助,谢谢!不行的4个IOS版本分别是:6.1.3.7.0.4.7.1.1.8.3 解决方案 楼主解决了吗,同求啊