gpt4 book ai didi

ios - 为什么我的 dateFormatter 只能在 24 小时制设备设置下工作?

转载 作者:行者123 更新时间:2023-11-28 06:00:54 25 4
gpt4 key购买 nike

<分区>

我想更改字符串日期的格式以在字符串中仅获取月份名称。

我想将“yyyy-MM-dd HH:mm:ss”格式更改为“MMMM”格式

喜欢下面的代码:

func changeFormat(of dateTime: String, fromFormat format1: String = "yyyy-MM-dd HH:mm:ss", toFormat format2: String) -> String? {

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format1
guard let originDate = dateFormatter.date(from: dateTime) else {
return nil
}

dateFormatter.dateFormat = format2
let newFormattedDate = dateFormatter.string(from: originDate)


return newFormattedDate
}


// usage
changeFormat(of "2018-04-12 11:52:12", toFormat : "MMMM")

如果设备中的日期时间格式设置为 24 小时格式(设置 -> 常规 -> 日期和时间 -> 24 小时制),上面的代码将按预期运行,如下所示

enter image description here

但是如果我关闭 24 小时制(激活 12 小时制),该函数将在此行返回 nil

guard let originDate = dateFormatter.date(from: dateTime) else {
return nil
}

我希望该功能在 24 小时制或 12 小时制中工作,因此用户不需要手动更改他们的设置。

我该怎么办?

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