我在以下代码中遇到了麻烦:
let dateFormatter = DateFormatter()
dateFormatter.locale = locale
dateFormatter.dateStyle = .short
dateFormatter.timeStyle = .short
dateFormatter.doesRelativeDateFormatting = true
dateFormatter.amSymbol = "a" // not working if above set to true
dateFormatter.pmSymbol = "p"
let str = dateFormatter.string(from: Date())
输出=比;字符串"今天,12:15 PM">
amSymbol和pmSymbol如果doesRelativeDateFormatting= false, WithdoesRelativeDateFormatting如果设置为true,则amSymbol和pmSymbol setter似乎没有任何区别。
你认为这是一个SDK错误还是我错过了什么?
设置dateFormatter.dateStyle = .none
使其工作,但我认为您需要dateStyle
以Today, 12:15 p
格式打印dateString
。因此,我使用了两个单独的dateFormatters
,一个用于dateStye
,另一个用于timeStyle
。
let dateFormatterForDate = DateFormatter()
dateFormatterForDate.dateStyle = .short
dateFormatterForDate.doesRelativeDateFormatting = true
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale.current
dateFormatter.timeStyle = .short
dateFormatter.amSymbol = "a"
dateFormatter.pmSymbol = "p"
let str = "(dateFormatterForDate.string(from: Date())), " + "(dateFormatter.string(from: Date()))"
print(str)
:Today, 1:15 a