如何将GMT字符串转换为timeStamp

时间:2016-10-27 16:49:43

标签: swift3

我的字符串是:"星期五,2016年10月7日00:00:00 GMT" 我试试这个:

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEE, d MMM yyyy HH:mm:ss z"
let someNSDate = dateFormatter.date(from: string)
let myTimeStamp = someNSDate?.timeIntervalSince1970
return myTimeStamp!

但是某些NSDate返回零 谢谢!

2 个答案:

答案 0 :(得分:0)

耶!!!这在swift3中工作得很好......非常感谢!!

class func timeStampFromString(string: String) -> Double {
   let dateFormatter = DateFormatter()
   dateFormatter.dateFormat = "EEE, d MMM yyyy HH:mm:ss z"
   dateFormatter.locale = NSLocale(localeIdentifier: "en-US") as Locale!
   let someNSDate = dateFormatter.date(from: string)
   let myTimeStamp = someNSDate?.timeIntervalSince1970
   return myTimeStamp!
}

答案 1 :(得分:-1)

实现如下为我返回以下内容:

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "EEE, d MMM yyyy HH:mm:ss z"
let someNSDate = dateFormatter.dateFromString("Fri, 07 Oct 2016 00:00:00 GMT")
print(someNSDate)//This is Fri, 07 Oct 2016 00:00:00 GMT
let myTimeStamp = someNSDate?.timeIntervalSince1970
print(myTimeStamp)//This is 1475798400.0

您确定所传递的日期字符串的所有实例都是正确的格式吗?这可能是日期格式化程序返回nil的原因。