2016-11-21 285 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))