在 Swift 中使用 dateStyle 时如何让一天排在第一位
How do I make a day come first while using the dateStyle in Swift
在使用 DateFormatter() 的 dateStyle 功能时,我想让日期先而不是月份。我尝试了所有可能的方法,但似乎没有任何效果。
这是我的代码。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
print(dateFormatter.string(from: beginDate)) //05 Jul 2020
dateFormatter.doesRelativeDateFormatting = true
dateFormatter.dateStyle = .medium
print(dateFormatter.string(from: beginDate)) //Jul 5, 2020
我希望最后一行打印“2020 年 7 月 5 日”。 dateStyle 很重要,因为没有它 dateFormatter.doesRelativeDateFormatting
将无法工作。应该有一个简单的方法来做到这一点。请帮助。
您实际上不需要更改代码中的任何内容。只需将模拟器的区域(设置 -> 常规 -> 语言和区域)切换到使用小端(日、月、年)样式 (here's a list) 的地方。一个典型的例子就是英国。
如果您希望总是首先显示日期,而不管用户所在的地区,您可以将日期格式化程序的 locale
设置为列出的国家/地区之一以上:
dateFormatter.locale = Locale(identifier: "en-GB")
但我不推荐这个。你不应该不尊重用户的语言和地区以及他们喜欢的日期格式,除非你有充分的理由。
最后一个命令中打印的字符串符合用户的区域设置。
要执行您想要的操作,您可以使用
强制执行
dateFormatter.locale = Locale(identifier: <identifier>)
要查看所有格式的列表,您可以这样做
Locale.availableIdentifiers.sorted().forEach { identifier in
dateFormatter.locale = Locale(identifier: identifier)
dateFormatter.doesRelativeDateFormatting = true
dateFormatter.dateStyle = .medium
print("identifier: \(identifier) - \(dateFormatter.string(from: beginDate))")
}
在使用 DateFormatter() 的 dateStyle 功能时,我想让日期先而不是月份。我尝试了所有可能的方法,但似乎没有任何效果。 这是我的代码。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
print(dateFormatter.string(from: beginDate)) //05 Jul 2020
dateFormatter.doesRelativeDateFormatting = true
dateFormatter.dateStyle = .medium
print(dateFormatter.string(from: beginDate)) //Jul 5, 2020
我希望最后一行打印“2020 年 7 月 5 日”。 dateStyle 很重要,因为没有它 dateFormatter.doesRelativeDateFormatting
将无法工作。应该有一个简单的方法来做到这一点。请帮助。
您实际上不需要更改代码中的任何内容。只需将模拟器的区域(设置 -> 常规 -> 语言和区域)切换到使用小端(日、月、年)样式 (here's a list) 的地方。一个典型的例子就是英国。
如果您希望总是首先显示日期,而不管用户所在的地区,您可以将日期格式化程序的 locale
设置为列出的国家/地区之一以上:
dateFormatter.locale = Locale(identifier: "en-GB")
但我不推荐这个。你不应该不尊重用户的语言和地区以及他们喜欢的日期格式,除非你有充分的理由。
最后一个命令中打印的字符串符合用户的区域设置。
要执行您想要的操作,您可以使用
强制执行dateFormatter.locale = Locale(identifier: <identifier>)
要查看所有格式的列表,您可以这样做
Locale.availableIdentifiers.sorted().forEach { identifier in
dateFormatter.locale = Locale(identifier: identifier)
dateFormatter.doesRelativeDateFormatting = true
dateFormatter.dateStyle = .medium
print("identifier: \(identifier) - \(dateFormatter.string(from: beginDate))")
}