iphone - NSDateFormatter 返回意外结果

标签 iphone ios nsdate nsdateformatter

为什么以下 iOS 4.2 代码会返回两次不同的时间?

  NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
  NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
  [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
  [dateFormatter setTimeZone:gmt];
  NSString* dateString = [dateFormatter stringFromDate:[NSDate date]];
  NSLog(@"Date/Time is %@", dateString);

  NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease];
  [inputFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];    
  NSDate* date = [inputFormatter dateFromString:dateString];        
  NSLog(@"Date/Time is %@", date);

返回:

2011-01-04 16:15:12.966 WA[687:207] Date/Time is 2011-01-04 21:15:12
2011-01-04 16:15:12.967 WA[687:207] Date/Time is 2011-01-05 02:15:12 +0000

第一个值是预期的,但我希望第二个值相同。

布鲁斯

最佳答案

您的日期格式似乎都不包含时区,因此您可能会发现您所在的位置和格林威治标准时间之间存在差异。

关于iphone - NSDateFormatter 返回意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4598574/

相关文章:

ios - 从 USB 连接的 iOS 设备进行截屏/镜像

ios6 cachedResponseForRequest block sendSynchronousRequest

xcode - 升级到 iOS 4.2 后无法部署我的应用程序的调试版本

ios - NSDateFormatter错误,返回日期一年前

iphone - key 扣证书

iphone - 如何在 UITableView Cell 中制作透明的 UIButton

ios - UIBarButtonItem 的空间问题

objective-c - 标签栏作为 View Controller 顶层 View 的 subview ;画得不正确

ios - NSDate dateWithTimeIntervalSince1970 添加额外的一天

ios - 如何在 Swift 中使用 UIDatePicker?