将字符串日期长格式转换为12h日期格式

时间:2017-03-30 12:52:47

标签: ios swift date

我有一个功能,如果格式在24小时但效果很好但是在12小时它不能正常工作,我正在尝试应用它来纠正它,但是3行的结果是'nil',某些原因为什么会这样?

  let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
    let date = dateFormatter.date(from: "2017-02-01 14:55:08")
    dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
    let stringdate = dateFormatter.string(from: date)
    let newDate12h = dateFormatter.date(from: stringdate)

此行返回nil:

let date = dateFormatter.date(from: "2017-02-01 14:55:08")

This problem is enabled or not 24h

2 个答案:

答案 0 :(得分:2)

我在添加这一行时确实有效:

dateFormatter.locale = Locale.init(identifier:"es_ES")

答案 1 :(得分:0)

也许你只是错过格式的a

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = dateFormatter.date(from: "2017-02-01 14:55:08")
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss a"
let stringdate = dateFormatter.string(from: date!)
let newDate12h = dateFormatter.date(from: stringdate)

在Swift游乐场为我工作。