ios - 日期类型的dateFormatter字符串2013-03-24T02:15:23-08:00 + objective-c

标签 ios objective-c nsdate

我想将2013-03-24T02:15:23-08:00字符串转换为NSDate对象。我尝试了格式化程序字符串yyyy-MM-ddTHH:mm:ss-Z,但是NSDate对象为nil。
我知道这是一个微不足道的问题,但是现在我真的陷入了困境。

以下是我的转换代码

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
        [dateFormatter setDateFormat:@"yyyy-MM-ddTHH:mm:ss-Z"];
        NSDate* date = [dateFormatter dateFromString:image.dateTaken];

请帮助。

最佳答案

日期格式字符串中有两个错误:

  • 日期格式的(文字)T字符必须用'T'引用。
  • -08:00这样的“ISO8601时区”的格式是ZZZZZ
    请注意,减号是时区本身的一部分,而不是格式的一部分。

  • 这应该工作:
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"];
    

    关于ios - 日期类型的dateFormatter字符串2013-03-24T02:15:23-08:00 + objective-c ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21522418/

    相关文章:

    ios - NSDictionary的 list

    ios8 - 查看记录是过去还是 future

    ios swift 在静默通知后创建本地通知

    ios - 选择器中的 Swift 传递参数

    ios - 删除 tableView 中的项目会从存储的值中删除错误的对应文件(swift NSCoding)

    objective-c - 如何检测捏合手势与捏合手势?

    objective-c - 计算 NSString 中任意重复十进制数的数量

    ios - 加载远程图像的最佳方式是什么?

    iphone - 两个 NSDate 对象之间的区别——结果也是一个 NSDate

    iphone - 时间计算给出越来越错误的结果