在Swift中将String转换为NSDate

iPh*_*Guy 1 nsdate swift ios8

如何将此日期转换为 NSDate

datestring = /Date(147410000000)/   //String from server response        
Run Code Online (Sandbox Code Playgroud)

预期产出:

12/01/2014
Run Code Online (Sandbox Code Playgroud)

我试过这个.但我没有.

let dateFormatter:NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let date = dateFormatter.dateFromString(datestring)
return date
Run Code Online (Sandbox Code Playgroud)

Wol*_*ine 11

" 147410000000 ",我认为这是你从服务器获得的时间间隔.

在您的情况下,您需要修剪字符串并将其转换为 /日期(147410000000)/147410000000

    var string : String = "1408709486" // (Put your string here)

    var timeinterval : NSTimeInterval = (string as NSString).doubleValue // convert it in to NSTimeInteral

    var dateFromServer = NSDate(timeIntervalSince1970:timeinterval) // you can the Date object from here

    println(dateFromServer) // for My Example it will print : 2014-08-22 12:11:26 +0000


    // Here i create a simple date formatter and print the string from DATE object. you can do it vise-versa. 

    var dateFormater : NSDateFormatter = NSDateFormatter()
    dateFormater.dateFormat = "yyyy-MM-dd"
    println(dateFormater.stringFromDate(dateFromServer)) // And then i can get the string like this : 2014-08-22
Run Code Online (Sandbox Code Playgroud)

查看评论部分.Martin的评论也将帮助您解决问题.

  • "147410000000"以毫秒为单位给出时间,因此您必须将其除以1000. (2认同)