ios - 在 swift 中使用 NSDateFormatter 时我得到 nil

标签 ios swift nsdate nsdateformatter

这是我的代码:

println(myStringDate)    // 2015-02-26T17:46:34.000Z
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-DDTHH:mm:ss.sssZ"
let myDate = dateFormatter.dateFromString(myStringDate)
println(myDate)        // nil

为什么是零?我做错了什么?

最佳答案

您的问题是如何设置日期格式。因为你的字符串中有一个 T,你需要“转义”它并说,它不应该影响日期的格式。

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"

另外如您所见,我已将 sss 更改为代表毫秒的 SSS 并将年份 YYYY 更改为小写 yyyy 也与 DD 相同。何时在日期格式字符串中使用大写和小写字母,您必须非常小心。

检查 @HotLicks link in the comments它显示了日期格式用法的一个很好的概述。

关于ios - 在 swift 中使用 NSDateFormatter 时我得到 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28750048/

相关文章:

ios - 共享扩展程序 - 自 iOS 14 以来首次尝试时应用未显示在共享菜单中

swift UICollectionView 只显示黑屏

iOS 应用程序 → 带有特定网页的 Safari → 网页上的某些操作 → 返回带有一些数据的应用程序?

objective-c - 如何在 Cocoa 中获取当前日期

ios - 使用 iOS FBSDK v4 (multipart/form-data) 上传到 facebook 时编码视频的正确方法

ios - 如何在关闭模式后重新加载表格 View

ios - 背景位置

swift - CIImage 像素的 RGB 值

ios - 将 NSDate 转换为整数

ios - 使用 Swift 从 HealthKit 读取日期间隔的步骤