ios - 问题理解 NSDateFormatter .date 格式选项?

标签 ios swift

是否有这些日期格式的外行引用资料或教程?

这是我正在处理的代码:

  if let publishDate = json["publishDate"] as? String {

        // publishDate is: "2015-04-14T18:34:46.001Z"
        var dateString = publishDate
        var dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "YYYY-MM-DDTHH-MM-SS.000Z"
        var date = dateFormatter.dateFromString(dateString)
        let ago = date!.timeAgo
        println(ago)

    }

任何有关解决此类问题的提示都将不胜感激!

最佳答案

Data Formatting Guide: Date Formatters包含描述如何解释 dateFormat 字符串的链接。

不过,我从您的问题中推断,您正在处理 ISO 8601/RFC 3339 日期字符串。在这种情况下,我还会提请您注意 Apple 的 Technical Q&A 1480。它为国际用户提供了处理这些日期字符串的指导(具体来说,确保设置 NSDateFormatterlocale 以防最终用户的设备不使用 Gregorian日历)。

无论如何,它应该看起来像这样:

let dateString = "2015-04-14T17:12:12.123Z"

let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
let date = formatter.dateFromString(dateString)

此格式化程序可用于与 ISO 8601/RFC 3339 日期字符串相互转换。

关于ios - 问题理解 NSDateFormatter .date 格式选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29636219/

相关文章:

ios - xamarin.forms,如何更改应用顶部布局

iphone - 拍照后viewDidLoad加载完毕

ios - 快速分页电影数据库

ios - 开始触摸的计数不等于完成触摸的计数

html - 调整字体大小后 WKWebView contentSize 高度不改变

ios - iOS10 和 swift 3 中的 PUSH 问题

ios - 在 NSSet 上调用 allObjects 时出现 "Unrecognised selector sent to instance"错误

ios - 如何减少 UIVisualEffectView 上的模糊效果

ios - 我应该在tableView中写什么(_ :cellForRowAtIndexPath:) method to custom cells?

swift - 为什么在导入模块中使用函数时 Swift 多线程效率要低得多?