Swift NSDate的一个分类,把"Mon Apr 04 19:45:37 +0800 2016"这种格式的时间转换为"2016-04-04 11:45:37 +0000"

1.新建一个Swift file,取名为:NSDate+Category
代码如下:

//
//  NSDate+Category.swift

import UIKit

extension NSDate
{
    /**
     将时间字符串转换为NSDate
     */
    class func dateWithStr(time: String) -> NSDate
    {
        // 1.创建formatter
        let formatter = NSDateFormatter()

        // 2.设置时间的格式
        formatter.dateFormat = "EEE MMM d HH:mm:ss Z yyyy"

        // 3. 设置时间的区域(真机必须设置,否则可能不会转换成功)
        formatter.locale = NSLocale(localeIdentifier: "en")

        // 4.转换(转换好的时间是去除时区的时间)
        let createdDate = formatter.dateFromString(time)!

        return createdDate
    }   
}

2.使用

print(created_at) //Optional("Mon Apr 04 19:45:37 +0800 2016")
            let createDate = NSDate.dateWithStr(created_at!)
             print(createDate) //2016-04-04 11:45:37 +0000

你可能感兴趣的:(iOS学习—Swift)