【问题标题】:Medium time format to 24 hours time中时间格式为 24 小时制
【发布时间】:2019-08-22 06:28:40
【问题描述】:

我只想将 HH:mm:ss a(7:11:24 AM) 转换为“hh:mm:ss”(7:11:24)。我附上了我的代码,但它给出了错误的时间。 任何帮助都会得到帮助。

func getTime() {
       let dateAsString = "7:11:24 AM"
       let dateFormatter = DateFormatter()
       dateFormatter.dateFormat = "HH:mm:ss a"
       let date = dateFormatter.date(from: dateAsString)
       dateFormatter.dateFormat = "hh:mm:ss"            
       let Date24 = dateFormatter.string(from: date!)
    }

提前致谢

【问题讨论】:

  • HH 表示 24 小时,hh 表示 12 小时格式,带上午-下午
  • 你好 Nirav,我想要 24 小时的时间,但不是上午和下午。这可能吗?
  • 可以。您的字符串包含 am-pm 日期,因此第一个日期格式应为 hh:mm:ss a 而不是 HH。看我的回答。
  • 在您的代码中更改dateFormatter.dateFormat = "HH:mm:ss a" To dateFormatter.dateFormat = "hh:mm:ss a"。并更改dateFormatter.dateFormat = "hh:mm:ss" dateFormatter.dateFormat = "h:mm:ss"。然后你将输出 7:11:24

标签: ios swift dateformatter


【解决方案1】:

你只是把hhHH放在了错误的地方。

将您的hh 替换为HH

HHhh

例如

let dateAsString = "7:11:24 PM"
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "hh:mm:ss a"
let date = dateFormatter.date(from: dateAsString)
dateFormatter.dateFormat = "HH:mm:ss"
let Date24 = dateFormatter.string(from: date!) //output will be - 19:11:24

【讨论】:

  • 它导致崩溃 致命错误:在 let Date24 = dateFormatter.string(from: date!) 上展开可选值时意外发现 nil
  • @poojsfollowal 你在哪一行崩溃了?实际上,我在操场上跑步。它的工作。
  • 在 let Date24 = dateFormatter.string(from: date!) 时崩溃
  • @NiravKotecha OP 得到的错误“可能”是a 的本地化问题
  • 嘿@MadProgrammer,完成了。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-01
  • 2015-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多