即使正确设置NSTimezone,仍然存在NSDateFormatter结果问题,为什么?
结果仍然是前一天,我只是问自己为什么,因为NSTimeZone设置得当,对我的国家(意大利,罗马)来说是正确的,这里是我的代码存根,任何想法?
NSString *dateString = @"03/07/2008"; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setFormatterBehavior:[NSDateFormatter defaultFormatterBehavior]]; [formatter setDateFormat:@"dd/MM/yyyy"]; [formatter setLocale:[NSLocale currentLocale]]; [formatter setTimeZone:[NSTimeZone systemTimeZone]]; NSDate *dateFromString = [formatter dateFromString:dateString]; [formatter release];
dateFromString的结果是2008-07-02 22:00:00 +0000 。
我已经寻找其他解决方案,但常见的答案是正确设置时区,在我的情况下,它设置正确但问题仍然存在。
这是正确的,因为默认情况下, NSDate
将在其描述+0000
返回UTC日期。 您比UTC早了几个小时,因此前一天的时间为22:00:00。 我是-5,我的结果UTC是2008-07-03 04:00:00 +0000 (DST)。 日期是正确的,它只是以UTC显示,如果你试图在某处正确显示它只需使用日期格式化器再次获取一个字符串。
... NSDate *dateFromString = [formatter dateFromString:dateString]; NSString *stringFromDate = [formatter stringFromDate:dateFromString]; [formatter release]; NSLog(@"%@ : %@", dateFromString, stringFromDate);
2008-07-03 04:00:00 +0000:03/07/2008
- AVAssetWriterInputPixelBufferAdaptor appendPixelBuffer
- TableViewSuite App的哪种types的项目
- 适用于iphone / iOS的 runningApplications]的等价物?
- Google Plus使用UIWebViewloginiOS
- 以编程方式为UITableViewController设置UIActivityIndicatorView
- iOS 7 M4A到MP3编码 – 这是可能的吗?
- 我如何parsing这个XML在NSXMLParser在iOS中?
- 反正有没有用一个通用页脚创建一个UITableView?
- iPhone – 发送应用程序的背景