GMT日期字符串转换为UTC日期

时间:2016-06-29 22:39:21

标签: ios nsdate

enter image description here **

  1. GET GMT DATE STRING
  2. **

       func getGMTString(dateAsDate:NSDate) -> String
        {
            let dateFormatter = NSDateFormatter()
            dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss zzz"//this your string date format
            // dateFormatter.locale = NSLocale.currentLocale()
            //        dateFormatter.timeZone = NSTimeZone(name: "GMT")
            let date = dateFormatter.stringFromDate(dateAsDate)
    
            return date
        }
    
    1. OUTPUT startDate --- 2016-06-29 00:00:00 GMT + 5:30 endDate ---- 2016-06-30 03:57:39 GMT + 5:30
    2. 现在尝试从输出字符串中获取GMT Date对象

       func getGMTDate(string:String) -> NSDate {
          let dateFormatter = NSDateFormatter()
          dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss zzz"//this your string date format
        // dateFormatter.timeZone = NSTimeZone(abbreviation: "GMT")!
        //  dateFormatter.locale = NSLocale.currentLocale()
          let date = dateFormatter.dateFromString(string)
      
      
          return date!
      }
      

      问题:输出日期对象 MESS startDateOBJECT --- 2016-06-28 18:30:00 +0000 endDateOBJECT ---- 2016-06-30 17:30:00 +0000

    3. 无法确定出现了什么问题

1 个答案:

答案 0 :(得分:1)

我不明白你的第3步。我看起来你正在使用NSLog或Swift打印来显示结果日期。这总是在UTC完成。

如果要以其他格式或本地时区查看日期,则需要第二个日期格式化程序将NSDate转换为输出日期字符串。

这是流程:

input date string -> input date formatter -> NSDate

NSDate -> output date formatter -> display date in local time zone