2

Это может быть простой вопрос, но я смущен и нуждаюсь в вашей помощи. мне нужно преобразовать это:конвертировать миллисекунды Целое число во время форматирования Строка

let S: Int = 45296789 

в этом: "12 34 56 789"

, то есть S представляет собой целое число, представляющее миллисекунды. Что мне нужно, чтобы отформатировать его в «hh mm ss iii»

Один из раствора может быть следующее:

var a = S/1000/60/60 
var b = S/1000/60%60 
var c = S/1000 % 60 
var d = S % 1000 

String(format:"%02i %02i %02i %03i", a, b, c, d) 

Но мне нужен метод, использующий NSDateFormatter() или NSTimeFormatter(), если это возможно.

Я просмотрел stackoverflow, но есть слишком много форм решения, и я не смог найти тот, который включает миллисекунды. (Часть 789 миллисекунды)

ответ

2

Попробуйте это:

let s = 45296789 

let date = NSDate(timeIntervalSince1970: Double(s)/1000) 
let formatter = NSDateFormatter() 
formatter.timeZone = NSTimeZone(name: "UTC") 
formatter.dateFormat = "HH mm ss SSS" 

print(formatter.stringFromDate(date)) 
+0

удивительным! Благодаря ! – IamMashed

+1

Вы, вероятно, хотите «HH» для 24-часового формата вместо «hh». –

+0

@MartinR Спасибо за исправление. Ответ редактирован –