我试图找出如何格式化已使用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
有人有什么建议吗?谢谢!
答案 0 :(得分:0)
您可以使用组件解析字符串(separatedBy:“:”)并将元素映射为整数。然后,您可以使用第一个组件(小时)格式化结果字符串,将剩余部分除以12并根据其值有条件地添加am
或pm
:
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"
}