2016-11-21 281 views
0

我想將毫秒轉換爲日期字符串在swift 3,我嘗試通過設置日期fomatter,但我沒有得到當前日期字符串。如何將毫秒轉換爲日期字符串在swift 3

var milliseconds=1477593000000 

let date = NSDate(timeIntervalSince1970: TimeInterval(milliseconds)) 
let formatter = DateFormatter() 
formatter.dateFormat = "dd-MM-yyyy HH:mm:ss" 
formatter.locale = NSLocale(localeIdentifier: "en_US") as Locale! 
print(formatter.string(from: date as Date)) 

output: 

22-01-48793 01:30:00 
+2

嘗試'TimeInterval(毫秒/ 1000)'並檢查輸出 –

+1

它期望秒。 – kometen

+0

我試着用1000分開工作 –

回答

9

試試這個

var date = Date(timeIntervalSince1970: (1477593000000/1000.0)) 
print("date - \(date)") 

你會得到輸出如日期:

日 - 2016年10月27日18:30:00 +0000

1

看一看的NSDatedocumentation

convenience init(timeIntervalSince1970 secs: TimeInterval) 

返回一個NSDate對象初始化相對於當前日期和時間由幾秒鐘的給定數量。

只需將您的毫秒數轉換爲秒數,即可得到正確的日期。

2

試試這個怎麼樣 -

let milisecond = 1479714427 
    let dateVar = Date.init(timeIntervalSinceNow: TimeInterval(milisecond)/1000) 
    var dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "dd-MM-yyyy hh:mm" 
    print(dateFormatter.string(from: dateVar))