如何用字符串编写自定义日期格式?

时间:2017-06-07 14:17:38

标签: ios swift date nsdateformatter

这里有一个愚蠢的问题:

我愿意在Swift中为巴西模式编写一个自定义日期格式,如下所示:

"20 de Junho, 2017" // 20 of June, 2017

我正在尝试这种模式:

"dd de MMMM, yyyy"

"de"世界也被视为一种模式。我怎么能说这是一个常数?

由于

1 个答案:

答案 0 :(得分:10)

您必须将其包装成引号',例如

"dd 'de' MMMM, yyyy"

来自Date Format Patterns

  

文字文本,在格式化时按原样输出,并且在解析时必须紧密匹配。文字文字可包括:

     
      
  • A..Z和a..z以外的任何字符,包括空格和标点符号。
  •   
  • 单个垂直引号('xxxx')之间的任何文本,其中可能包含A..Z和a..z作为文字文本。
  •   

您也可以让格式化程序生成de

let locale = Locale(identifier: "pt-BR")
let dateFormatter = DateFormatter()

let dayFormat = DateFormatter.dateFormat(fromTemplate: "d MMMM", options: 0, locale: locale)!

dateFormatter.dateFormat = dayFormat + ", yyyy"
dateFormatter.locale = locale

print(dateFormatter.string(from: Date())) // 7 de junho, 2017