如何将string转换为NSDate?
我有我收到的string,每当有新的远程通知。我使用parsing我的后端。 和我检索的string来自“createdAt”列。
我试过下面的代码:
var ca = "2015-07-03T03:16:17.220Z" var dateFormater : NSDateFormatter = NSDateFormatter() dateFormater.dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'" let date = dateFormater.dateFromString(ca) println(date)
但是println给我零,我认为我的date格式有问题。 我怎样才能解决这个问题?
你错过了毫秒。 从而:
dateFormater.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
请注意,从datestring转换为NSDate
,不应该引用Z
如果引用Z
,它将匹配字面上的Z
字符,但不能正确反映这个datestring实际上是Zulu / GMT / UTC。
如果你想创build格式化程序,也可以将NSDate
对象转换为string,那么你应该引用Z
,但是在这种情况下,你必须记得明确设置时区:
dateFormater.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" dateFormater.timeZone = NSTimeZone(forSecondsFromGMT: 0)
顺便说一句,不要忘记设置苹果技术问答1480的locale
。
dateFormater.locale = NSLocale(localeIdentifier: "en_US_POSIX")
- 复制到剪贴板在jQuery / JavaScript的无闪光为iPad / iPhone
- iOS – 可以拉伸UIImageView而不是UIButton吗?
- 为什么当我的UITableView尝试加载时出现无法出队的错误?
- iOS:如何在X小时内每隔一小时在睡眠模式下自动发送电子邮件与iPad?
- 如果CoreLocation必须不断检索用户的位置,保存电池的提示?
- 只在iPhone中查看不显示在iPad中
- iPhone项目中的Chartboost / iOS中的Chartboost使用
- iPad的全屏幕模式查看TabBarController?
- iPhone的iPhone应用程序仍然运行时,iPhone被locking?