iphone - 从格式化程序返回的字符串中的错误日期!为什么?

标签 iphone objective-c ios ipad

我对 NSDateFormatter 有疑问
我在一个 View 中从选择器转换日期

`NSDateFormatter *output = [[NSDateFormatter alloc] init];
[output setDateStyle:NSDateFormatterMediumStyle];
[output setDateStyle:NSDateFormatterShortStyle];
[output setDateFormat:@"yyyy-MM-dd hh:mm:ss"];    
NSString *StringToSend = [output stringFromDate:datePicker.date];

`
然后将字符串发送到其他 Nib

在哪里用该代码将其转换回来
`NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateStyle:NSDateFormatterMediumStyle];
[inputFormatter setDateStyle:NSDateFormatterShortStyle];
[inputFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *formatterDate = [inputFormatter dateFromString:StringFromOtherView];
NSLog(@"%@", formatterDate);`

它返回错误的日期
发送 2011-09-26 01:02:49
获取 2011-09-25 22:02:49 +0000

怎么了?

最佳答案

因为:

  • 当你NSLog()一个 NSDate ,它总是以 GMT
  • 记录它
  • 您生活在比格林威治标准时间早三个小时的时区。因此,格林威治标准时间上午 1:02 对您来说是下午 22:02(前一天)。
  • 关于iphone - 从格式化程序返回的字符串中的错误日期!为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7548951/

    相关文章:

    iphone - TBXML textForElement 不解析一个元素

    objective-c - 将实例变量传递给 CCMenuItemImage 中配置的选择器

    ios - ReactiveKit:观察一系列信号,当它们全部完成时做一些事情

    ios - 将主机名字符串解析为 IP 字符串

    ios - 使用 - observeValueForKeyPath :ofObject:change:context: in Swift 3

    由于 NSInvalidUnarchiveOperationException 导致 iOS11 WKWebview 崩溃

    javascript - phonegap iPhone 应用程序缓存旧数据

    iphone - 谷歌分析不工作 iOS

    objective-c - 在 Objective C 中断言对象类

    ios - 收到自定义 collectionView 错误 : EXC_BAD_ACCESS code=2