gpt4 book ai didi

ios - 将 24 小时制日期对象转换为 12 小时制日期对象

转载 作者:行者123 更新时间:2023-11-28 12:17:34 25 4
gpt4 key购买 nike

我只是想将用户在其 iPhone 上启用“24 小时制”的日期对象转换为“12 小时制”日期对象。

我已经按照之前关于此问题的线程中所述进行了尝试,但我没有运气:

初始 finalDate 对象:日期 2017-08-30 22:00:00 UTC

 let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier:"en_US")
dateFormatter.dateFormat = "MM/dd/yyyy h:mm a"
let dateString = dateFormatter.string(from: finalDate)
let theFinalConvertedDate = dateFormatter.date(from: dateString)

我最终得到的结果:

    theFinalConvertedDate   Date? 2017-08-30 22:00:00 UTC

我不确定为什么会发生这种情况,因为 dateString 打印出来是:

"08/30/2017 5:00 PM"    

所以它最初确实将其转换为预期的输出,但 FinalConvertedDate 最终变成了日期? 2017-08-30 22:00:00 UTC

最佳答案

尝试更改 Date 对象的格式毫无意义。 Date 没有格式。您只能通过使用 DateFormatDate 转换为 String 来获得所需格式的字符串。

记录 Date 始终以固定格式显示 UTC 时区的日期值。

您只需要:

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier:"en_US_POSIX")
dateFormatter.dateFormat = "MM/dd/yyyy h:mm a"
let dateString = dateFormatter.string(from: finalDate)

dateString 是您关心的值。这将采用所需的格式。

请注意,您需要使用 en_US_POSIX 来确保结果不受用户在 iOS 设备上的时间设置的影响。

关于ios - 将 24 小时制日期对象转换为 12 小时制日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45970159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com