中时间格式为 24 小时制
Posted
技术标签:
【中文标题】中时间格式为 24 小时制【英文标题】:Medium time format to 24 hours time 【发布时间】: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
【参考方案1】:
你只是把hh
和HH
放在了错误的地方。
将您的hh
替换为HH
和
HH
与 hh
例如
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,完成了。谢谢以上是关于中时间格式为 24 小时制的主要内容,如果未能解决你的问题,请参考以下文章