在 Swift 中将字符串格式化为 HH:mm

Format String to HH:mm in Swift

我的代码:

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = dateFormatter.dateFromString("2015-09-01 00-32-40")

结果:2015-08-3117:32:40

但我想要这样的结果:17:32。我该如何解决?

如果您尝试获取 NSDate 而不是字符串表示,打印 NSDate 将始终显示完整的日期时间。要仅显示小时和分钟,您必须使用 "HH:mm" 日期格式创建字符串表示,例如:

// Your original code
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = dateFormatter.dateFromString("2015-09-01 00-32-40")

// To convert the date into an HH:mm format
dateFormatter.dateFormat = "HH:mm"
let dateString = dateFormatter.stringFromDate(date!)
println(dateString)

不确定您为什么要获得“17:32”的结果,但这会产生“00:32”作为字符串原始“00-32”部分的结果。