Мне нужно найти разницу между текущим временем (в секундах) и будущим временем запуска (полученным из моей веб-службы в секундах). я закодирован следующим образом:Разница между двумя датами в секундах варьируется в зависимости от разных часовых поясов - Swift 3
let currentTime = Int64(Date().timeIntervalSince1970)
var time = Int64(timeArr[indexPath.row])
print("\(currentTime) vs \(time)")
time = time - currentTime
print("difference in time : \(time)")
let seconds = time % 60
let minutes = (time/60) % 60
let hours = (time/3600)
Моей консоль показывает мне этот выход:
1480400929 vs 1480552620
difference in time : 151691
Проблема заключается в том, что мое текущее время Tue Nov 29 2016 11:58:49
и время начала 2016-11-30 17:37:00
поэтому разница в часах должна прийти примерно в 30 часов, тогда как время в разных часовых поясах занимает около 42 часов. Как это исправить? У меня много вопросов для того же, но ничего не работает. Любая помощь будет оценена по достоинству.
NSDATE - это абсолютный момент времени, без информации о часовом поясе. 1480400929 - «29 ноября 2016 года 06:28:49 GMT» и 1480552620 - «1 декабря 2016 года 00:37:00 по Гринвичу». Разница между этими временами составляет около 42 часов. - Пожалуйста, объясните, какой результат вы ожидаете и почему. * –
Я хочу разницу между моим текущим временем, которое было в ноябре 29 2016 11:58:49, и время начала 2016-11-30 17:37:00, которое я получаю с сервера – Mamta
Получаете ли вы время сервера как строку? Как преобразовать эту строку в NSDate? Каков часовой пояс серверов? Каков ваш часовой пояс? –