NSDate 将小时、分钟和秒归零

And*_*ers 5 cocoa-touch objective-c nsdate ios

我有一个 NSDate,我想要将小时、分钟和秒归零。我想要的结果是:2014-02-19 00:00:00 +0000。我已经尝试过以下方法:

NSUInteger flags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents* components = [[NSCalendar currentCalendar] components:flags fromDate:self.birthDatePicker.date];
NSDate* birthDate = [[NSCalendar currentCalendar] dateFromComponents:components];
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我得到了这个:2014-02-19 23:00:00 +0000。小时没有归零。我也尝试过设置[components setHour:0]。但我几个小时都得到相同的结果23。关于我做错了什么有什么想法吗?

小智 0

总是有帮助:

全球开发者大会视频

2011年Session 117 - Performing Calendar Calculations

2013年Session 227 - Solutions to Common Date and Time Challenges


这包含您可能想要的信息:

第227节@ 13 分 25 秒,“常见操作”/“计算午夜”。