Swift NSDate iso 8601格式 [英] Swift NSDate iso 8601 format

查看:227
本文介绍了Swift NSDate iso 8601格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在研究swift中的日期格式。试图将字符串日期转换为NSDate,将NSSate转换为字符串日期(ISO 8601格式)

I am working on date formats in swift. Trying to covert string date to NSDate and NSSate to string date (ISO 8601 format)

这是我的代码

let stringDate = "2016-05-14T09:30:00.000Z" // iso 8601 format 

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" //iso 8601

let date = dateFormatter.dateFromString(stringDate)
print("Date = \(date)") // Output is 2016-05-14 16:30:00 +0000

// again converting it date to string using stringFromDate 
print("\(dateFormatter.stringFromDate(date!))") // 2016-05-14T09:30:00.000Z

我想了解为什么我会以GMT格式获得NSDate(在09:30到16:30之间增加7小时)?
如果我将NSDate date 变量转换为字符串,那么我将获得原始字符串日期。任何人都可以帮助我了解这里发生了什么?

I am trying to understand why I am getting NSDate in GMT format (adding 7 hours to time 09:30 to 16:30 )? If I convert that NSDate date variable to string, then I am getting original string date. Can anyone help me to understand what is happening here?

推荐答案

您可以使用 NSISO8601DateFormatter ISO8601DateFormatter for Swift 3.0+

You can use NSISO8601DateFormatter or ISO8601DateFormatter for Swift 3.0+

这篇关于Swift NSDate iso 8601格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆