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

rom*_*e 웃 4 format time date ios swift

我的代码:

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

结果:2015-08-31 17:32:40

但我希望得到这样的结果:17:32.我该如何解决?

Lyn*_*ott 21

如果您正在尝试获取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)
Run Code Online (Sandbox Code Playgroud)

不确定为什么你要得到"17:32"的结果,但是这将从字符串的原始"00-32"部分产生"00:32".