ios - NSDateFormatter dateFromString 结果错误?

标签 ios objective-c nsdate nsdateformatter

我正在尝试从 NSString 获取一个 NSDate 对象。问题是,我在这个过程中失去了 1 天。

这是 NSString:2015-08-01,这里是代码:

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-dd"];
    NSDate *result = [df dateFromString:dateString];

结果 结果是 2015-07-31 21:00:00 +0000

怎么会这样?我不明白。此外,21:00:00 是从哪里来的?无论在真实设备还是模拟器上运行代码,我都会得到相同的结果。

知道为什么吗?我怀疑是 timezone 问题。但是,我得到的是 UTC 格式的 dateString,我没有改变它。想法?

最佳答案

检查时区。

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

关于ios - NSDateFormatter dateFromString 结果错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32140849/

相关文章:

IOS如何制作 View 覆盖键盘

ios - 核心数据返回 NSArrays 而不是 NSStrings

ios - 使 TableView 部分标题中的按钮 float /以编程方式右对齐//Swift

ios - 在 swift 中发送 PUT 请求正文

ios - UIImage 返回 Null IOS

ios - 按下右栏按钮项目移动左栏按钮项目

ios - 为viewController实例创建属性时,找不到viewController

swift3 - 每 24 小时运行一次函数 swift 3

ios - 如何在NSDate的核心数据字段中输入null或nil值

swift - 在 Swift 中只用一个工作日和一个小时创建一个日期对象