Продолжительность времени от ярлыков - PullRequest
0 голосов
/ 03 мая 2018

Я просмотрел весь Кодекс, связанный с получением продолжительности времени. Все, что мне нужно сделать, это просто выделить время, указанное в метке в этом формате, например, в часах: 20:23:04. Мне нужно взять время из currentTime.StringValue и время из oldTime.StringValue, а затем показать продолжительность часов в durationOfTime.StringValue.

Так, например, скажите currentTime = 11:00:04 и oldTime = 9:00:04, тогда я хочу durationOfTime = 2 часа.

Вот именно сейчас у меня есть код, который получает время и сохраняет его в формате выше. Однако я сталкиваюсь с различными проблемами, пробуя разные коды, связанные с Time Duration.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Надеюсь, это полезно. Отредактированное предложение Мэдди.

    let currentTime = "11:00:04"
    let oldTime = "9:00:04"

    let currentTimeComponents = currentTime.components(separatedBy: ":")
    let oldTimeComponents = oldTime.components(separatedBy: ":")

    let hrsDifference = Int(currentTimeComponents[0])! - Int(oldTimeComponents[0])!
    let minutesDifference = Int(currentTimeComponents[1])! - Int(oldTimeComponents[1])!
    let secondsDifference = Int(currentTimeComponents[2])! - Int(oldTimeComponents[2])!

    print("hrsDifference = ",hrsDifference)
    print("minutesDifference = ",minutesDifference)
    print("secondsDifference = ",secondsDifference)
0 голосов
/ 03 мая 2018

Используйте 2 средства форматирования: a DateFormatter для преобразования строк в Date объекты и DateComponentFormatter для отображения длительности между 2 Date s:

let currentTimeStr = "11:00:04"
let oldTimeStr = "9:00:04"

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "H:mm:ss"

let dateComponentFormatter = DateComponentsFormatter()
dateComponentFormatter.allowedUnits = [.hour, .minute]
dateComponentFormatter.unitsStyle = .short

if let currentTime = dateFormatter.date(from: currentTimeStr),
    let oldTime = dateFormatter.date(from: oldTimeStr),
    let durationStr = dateComponentFormatter.string(from: oldTime, to: currentTime)
{
    print(durationStr) // 2 hrs
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...