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

时间:2015-09-04 02:34:03

标签: ios swift date time format

我的代码:

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

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

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

1 个答案:

答案 0 :(得分:19)

如果您尝试获取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"字符串的一部分。