Конвертировать NSDate в Integer, Swift 3
Поэтому моя цель - преобразовать время из NSDate в целое число, однако я не уверен, как это сделать. Я попытался сделать простое преобразование, такое как Int(...), однако оно не работает. Это связано с тем, что строка включает в себя AM или PM? Я был бы очень признателен за любую помощь в попытке получить время, чтобы быть целым числом. Спасибо.
var firstDate = DateFormatter.localizedString(from: NSDate() as Date, dateStyle: DateFormatter.Style.none, timeStyle: DateFormatter.Style.short)
Это сгенерировано в разделе "Вид загрузки". Опять же, любая помощь будет очень признательна, спасибо.
РЕДАКТИРОВАТЬ:
Извините, что перечитал вопрос, но, вероятно, было не совсем понятно, что я преследую. Я хочу быть в состоянии найти разницу во времени между двумя разными NSDates. Это будет далее использоваться в качестве функции обратного отсчета. Проблема, связанная с этим, заключается в том, что я не уверен точно, как я собираюсь вычесть две строки. Поэтому я подумал, что если я смогу изменить часы, минуты и секунды на целые числа, то смогу вычесть их. Мне нужна помощь - это любой способ, которым я могу этого достичь. Возможно, изменение значений на интервалы - плохой способ сделать это, но это была просто мысль, которая у меня была, и я открыт для любых предложений.
1 ответ
Это зависит от того, что целое число должно представлять. Секунды могут быть получены путем получения временного интервала от другой даты. Например:
let date1 = Date()
let date2 = Date.init(timeInterval: 12345, since: date1)
let timeInterval = Int(date2.timeIntervalSince(date1))
// timeInterval = 12345 and is an int, the unit is seconds
Таким образом, вы не вычитаете строки, а работаете непосредственно с датой или NSDate...