中时间格式为 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】:

你只是把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,完成了。谢谢

以上是关于中时间格式为 24 小时制的主要内容,如果未能解决你的问题,请参考以下文章

python中时间日期格式化符号

python中时间日期格式符号

c语言将秒数转换为时间格式(24小时制,00:00:00格式)

怎么把手机时间设置成24小时制?

php 24小时格式的日期转换为12小时的日期

java timestamp 格式化