ios - 错误的工作日符号 (weekdaySymbols)

标签 ios swift

我正在尝试快速更改星期几的符号
使用下面的代码

let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "EEEE d MMM"
    dateFormatter.weekdaySymbols = ["Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"]
    let dateString = dateFormatter.string(from: Date())  
print(dateString)

我今天遇到了错误的打击

Tisdag 9 Jul

but today is Monday

最佳答案

您可以使用 DateFormatter 的模板 api,而不是自己管理工作日名称。

let dateFormatter = DateFormatter()
dateFormatter.setLocalizedDateFormatFromTemplate("dEEEEMMM")
let dateString = dateFormatter.string(from: Date()).capitalized(with: locale)
print(dateString)

这应该使用手机的区域设置,这应该是用户最想要的。

但您也可以手动设置语言环境。

如果你添加

let locale = Locale(identifier: "sv_SE")
dateFormatter.locale = locale

它会打印

Måndag 9 Juli

如果你使用

let locale = Locale(identifier: "de_DE")

它打印

Montag, 9. Juli

关于ios - 错误的工作日符号 (weekdaySymbols),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51245461/

相关文章:

ios - 在 Xcode 中更改项目名称导致命名错误

ios - 尝试在 youtube-ios-player-helper 上设置播放速度,但没有任何反应

swift - 有没有办法在函数指针中设置协议(protocol)的数据类型?

Swift UIImageView 未显示在设备上

ios - TagListView单选swift 4

objective-c - 主屏幕上缺少 WatchKit 应用程序图标

iphone - 为什么我们需要将Apple的In App Payment收据存储到服务器?

ios - 哪一方应该执行 RNG 计算?

ios - 按收到日期的顺序显示两个自定义对象数组

swift - 在 swift 中对 Sprite 节点的连续 X 和 Y 移动进行编码的最佳方法是什么