【发布时间】:2017-06-06 19:07:33
【问题描述】:
对于我的一生,我无法弄清楚如何将从 Fitbit API 返回的日期字符串转换为 iOS 上的 NSDate/Date 对象。
日期字符串格式如下:
2017-01-21T10:39:43.000
我使用的 API 记录在此处:https://dev.fitbit.com/docs/devices/,每个设备都返回 JSON 中的“lastSyncTime”属性。
我尝试了几种不同的日期格式,它们不断返回日期的 nil 值。
let formatter = DateFormatter()
// formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
// formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'"
// formatter.dateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"
// formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssz"
// formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSz"
formatter.dateFormat = "yyyy-MM-dd"
let date = formatter.date(from: lastSyncTime)
我尝试了所有这些不同的日期格式,但无济于事。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
我有时也会在日期格式化程序上遇到困难。一个建议:使用您的候选格式化程序并使用它将日期 转换为 字符串并记录结果。将其与您想要的格式进行比较。它可以帮助您将差异归零。
标签: ios swift cocoa nsdate nsdateformatter