NSDateFormatter 日期短样式具有不同的值

NSDateFormatter date short style has different values

我有一个 dateFormatter:

private lazy var dateFormatter : DateFormatter = {
    let formatter = DateFormatter()
    formatter.dateStyle = .short
    formatter.timeStyle = .none
    return formatter
}()

然后我传递给它某个日期,说:

let str = self.dateFormatter.string(from: Date())

并且我在不同的情况下收到不同的字符串格式,例如,我可以看到类似 05.24.17 或 5/24/17 的字符串。 我的问题:它是否取决于当前的语言环境或设备设置或其他什么?

谢谢。

如评论中所述,DateFormatter 使用当前 Locale 来确定要用于 .short 样式的确切日期格式。但是,如果您愿意,可以提供格式一致的日期。为此,您必须为日期格式化程序显式设置 Locale,如 playground 快照所示: