我是 iOS 开发新手。我正在尝试将字符串格式的日期值(2024-09-22)转换为 2024 年 9 月 22 日。
但我得到:
无法调用非函数类型“String”的值?
在进行日期格式化时。
我在
dateFormatter.dateFormat(from : dateString)
中收到此错误。
我尝试了以下代码进行格式化。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MMM-yyyy"
dateFormatter.timeZone = TimeZone.current
dateFormatter.locale = Locale.current
let convertedDate = dateFormatter.dateFormat(from : dateString)
有人可以帮我解决这个问题吗?
您首先需要从给定的
Date
(“2024-09-22”格式:“yyyy-MM-dd”)获取String
。并创建另一个 DateFormatter 将 Date
转换为新的 String
:
let dateString = "2024-09-22"
let dateFormatterToDate = DateFormatter()
dateFormatterToDate.dateFormat = "yyyy-MM-dd"
let date = dateFormatterToDate.date(from: dateString)
let dateFormatterFromDate = DateFormatter()
dateFormatterFromDate.dateFormat = "dd MMM yyyy"
let result = dateFormatterFromDate.string(from: date!) // 22 Sep 2024
要将日期字符串转换为另一个日期字符串,您必须将其转换为
Date
然后再转换回 String
,因此您需要输入和输出格式。 API dateFormat(from
不存在。
默认时区是当前时区,并且无论当前区域设置如何,都始终获取英文月份名称,请将区域设置设置为
en_US_POSIX
let dateString = "2024-09-22"
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd"
if let date = dateFormatter.date(from: dateString) {
dateFormatter.dateFormat = "dd MMM yyyy"
let convertedDate = dateFormatter.string(from: date)
}