在NSDate无法获得当天的开始
我需要NSDate格式的当天的开始和结束,因为我有一个nspredicate来获取此范围之间的数据。 所以我写了一个函数来找到当天的开头,就是这样
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 *start = [calendar dateFromComponents:components]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString *strFromDate = [formatter stringFromDate:start];
当我尝试nslog strFromDate它显示当前一天的确切开始,如2013-05-05 00:00:00 +0000但我需要它以nsdate格式,所以当我尝试将其转换为nsdate像这样
NSDateFormatter * dateFormat = [[NSDateFormatter alloc]init]; [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate *dateStr = [[NSDate alloc]init]; dateStr = [dateFormat dateFromString:strFromDate];
当我登录时,结果变为2013-05-05 18:30:00 +0000。 我尝试了很多代码,当我尝试以nsstring格式打印时,我得到了理想的结果,不知道nsdate出了什么问题。 如果有人可以指导我。 提前致谢
当我登录时,结果变为
2013-05-05 18:30:00 +0000
仔细阅读结果。 最后的+0000
是有意义的。 这意味着GMT(在伦敦的时间)。 所以这就是说伦敦的时间是18:30:00
。 但是,假设你在印度。 那是5:30
,也就是午夜。 这正是你想要的。
- 推动Autolayout时隐藏底栏
- 我怎样才能在iphone应用程序开发的导航栏上添加超过10个button?
- 准确的iOS时间
- Xamarin上的SocketIOClient不能在真实的设备上工作
- 具有自定义视图select器的UIBarButtonItem init无法正常工作
- 如何处理AVCaptureVideoPreviewLayer中的自动转换?
- Swift 2 – Xcode 7.0无法使用不可信的SSL证书访问HTTPS站点
- 使用页面控件为我的iOS应用程序创建教程
- iTunes Store操作失败。 没有find合适的应用logging。 validation您的包标识符“org.cocoapods.Alamofire”是否正确