Swift 3 - 从String.CharacterView格式化字符串格式化时间字符串

时间:2017-05-22 00:10:18

标签: ios json string swift3

我试图找出如何格式化已使用String.CharacterView格式化的字符串。

代码是:

{...}

这导致像

这样的字符串
let formattedDate = arrivalTime.characters.suffix(8) //gets the last 8 characters of a JSON outputted string for the time
 record.time = String(formattedDate) //sets the characters to a string and then sets that equal to the record class variable time, which displays the string in each table view cell
 self.records.append(record)

我想弄清楚的是如何获得像

这样的字符串
18:41:21

而不是18:41:21

有人有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用组件解析字符串(separatedBy:“:”)并将元素映射为整数。然后,您可以使用第一个组件(小时)格式化结果字符串,将剩余部分除以12并根据其值有条件地添加ampm

let time24h = "18:41:21"
let components = time24h.components(separatedBy: ":").flatMap{Int($0)}
if components.count > 1 {
    let time12h =  String(format: "%d:%02d", components[0] % 12, components[1])
        + (components[0] < 12 ? "am" : "pm")  //  "6:41pm"
}