Swift:以其他语言显示 Date()

Cha*_* L. 2 date swift

有没有办法在 Swift 中用英语以外的语言(尤其是一周中的一天)显示日期?

我已经有了这个DateFormatter来显示一周中的一天,但它只用英文显示:

var today = Date()

static let weekDayFormat: DateFormatter = {
        let formatter = DateFormatter()
        formatter.locale = Locale(identifier: "zh")
        formatter.dateFormat = "E"
        return formatter
    }()
Run Code Online (Sandbox Code Playgroud)

如果我写Text("\(today, formatter: Self.weekDayFormat)"),它会显示“周六”。

但是,我需要它以中文显示。即使我尝试设置formatter.locale = Locale(identifier: "zh")和其他中文标识符,它也总是输出英文结果。我认为可能只是工作日的英文首字母缩写词被普遍认可,但我的客户希望它显示中文。

Leo*_*bus 5

import SwiftUI

struct ContentView: View {
    var body: some View {
        Text(Formatter.weekDay.string(from: Date())).padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

extension Formatter {
    static let weekDay: DateFormatter = {
        let formatter = DateFormatter()

        // you can use a fixed language locale
        formatter.locale = Locale(identifier: "zh")
        // or use the current locale
        // formatter.locale = .current
        
        // and for standalone local day of week use ccc instead of E
        formatter.dateFormat = "ccc"
        return formatter
    }()
}
Run Code Online (Sandbox Code Playgroud)