我需要从 [NSDate 日期] 获取 00:00(一天的开始)的 NSDate 对象,假设当前是 11:30(由 [NSDate 日期] 返回),在 2012 年 1 月 6 日,现在我需要在 2012 年 1 月 6 日上午 00:00 进行 NSDate。
我没有尝试过,但我的想法是:
NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:now];
[components setHour:0];
[components setMinute:0];
[components setSecond:0];
NSDate *morningStart = [calendar dateFromComponents:components];
所以我首先获取当前日期(比如说它是 01/06/2012),并为该日期构造一个 NSDateComponent,然后我将小时/分钟/秒设置为 0,并且不应更改年/月/日(即 01 /06/2012)然后我为此组件设置创建一个 NSDate,我可以获得 00:00:00 01/06/2012 的日期吗?