将时间转换为HH:mm:ss格式

问题描述 投票:0回答:1

我正在将时间转换为这种格式(HH:mm:ss),但我得到的答案为零。在这里,我附上我的完整代码请给出一些建议。

// This is my time
let setDate = "2000-01-01 12:04:00 UTC"

// Conversion in seconds
    let secondsConvert = manyServiceTime*60*60
    print(secondsConvert)

 // Time Interval
let datebbb = setDate!.addingTimeInterval(TimeInterval(secondsConvert))
    print(datebbb)

 //this is I am getting date with am/pm
let formatterEnd = DateFormatter()
    formatterEnd.dateFormat = "hh:mm a"
    formatterEnd.timeZone = TimeZone(abbreviation: "UTC")
    let settime1 = formatterEnd.string(from: datebbb)
    print(settime1)

//now here I am converting into hours minutes and seconds. 
let formatEnd = DateFormatter()
    formatEnd.dateFormat = "HH:mm:ss"
    let endTimeSet = formatEnd.string(from: datebbb)
    print(endTimeSet)
ios swift nsdate nsdateformatter datetimepicker
1个回答
0
投票

如果你只想要时间使用这段代码我创建了一个以字符串形式返回时间的扩展

extension String {

  func formatDate() -> String {
    let formatter = DateFormatter()
    formatter.timeZone = TimeZone(abbreviation: "UTC")
    formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
    let dateFromStr = formatter.date(from: self)

    formatter.dateFormat = "HH:mm:ss"
    let endTimeSet = formatter.string(from: dateFromStr!)
    print(endTimeSet)
    return endTimeSet
    }
}

用法

let setDate = "2000-01-01 12:04:00"
let timeOnly = setDate.formatDate()
© www.soinside.com 2019 - 2024. All rights reserved.