ios - swift : How to convert String to string with time format?

标签 ios swift nsdateformatter

我的字符串值包括时间,格式为 "HH:mm" (16:50)

我必须将此值转换为 "hh:mm"格式 (04:50) 作为 SWIFT 中的字符串

我试过 NSDateFormatter 之类的

let timeFormat = NSDateFormatter()
timeFormat.dateFormat = "hh:mm"
var dateFromStr = timeFormat.dateFromString("16:50")
var strFromDate = timeFormat.stringFromDate(dateFromStr)

但它不起作用.. 请告诉任何解决方案。

最佳答案

你需要 2 个 NSDateFormatter,一个用于 dateFromString,一个用于 stringFromDate

let inFormatter = NSDateFormatter()
inFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
inFormatter.dateFormat = "HH:mm"

let outFormatter = NSDateFormatter()
outFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
outFormatter.dateFormat = "hh:mm"

let inStr = "16:50"
let date = inFormatter.dateFromString(inStr)!
let outStr = outFormatter.stringFromDate(date)
println(outStr) // -> outputs 04:50

Swift 5

let inFormatter = DateFormatter()
inFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale
inFormatter.dateFormat = "hh:mm:ssa"

let outFormatter = DateFormatter()
outFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale
outFormatter.dateFormat = "hh:mm a"
 
let inStr = "16:50"       
let datess = inFormatter.date(from: inStr)!
let outStr = outFormatter.string(from: datess)
print(outstr)

关于ios - swift : How to convert String to string with time format?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28624821/

相关文章:

ios - SwiftUI:UIAlertController 的 textField 在 UIAlertAction 中没有响应

ios - 苹果会批准内部使用Google开发的库的应用吗?

ios - 如何在 iOS 中创建多行字符串或多行标签作为 CGPath?

ios - 如果 view.bound.origin 总是 = (0, 0),它的目的是什么?

swift - 序列下降(而 :) Seemingly Does Nothing

arrays - Swift Array 按属性交集

iphone - 使用开始时间和持续时间计算结束时间-iOS

jquery - slider 拇指更容易捕获触觉设备

ios - 将可选字符串转换为日期

swift - NSDate 格式化程序错误