And*_*ani 3 nsdateformatter swift dateformatter
这是日期格式设置程序:
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .medium
Run Code Online (Sandbox Code Playgroud)
预期产量:
Aug 13, 2017 6:04:11 PM
Run Code Online (Sandbox Code Playgroud)
电流输出:
Aug 13, 2017 at 6:04:11 PM
Run Code Online (Sandbox Code Playgroud)
理想情况下,如何在不指定格式字符串的情况下删除“ at”一词,它来自何处?
在奥地利德语语言环境中:
dateFormatter.locale = Locale(identifier: "de_AT")
13.08.2017, 18:04:11
Run Code Online (Sandbox Code Playgroud)
使用美国英语语言环境:
dateFormatter.locale = Locale(identifier: "en_US")
Aug 13, 2017 at 6:04:11 PM
Run Code Online (Sandbox Code Playgroud)
一种选择是进行两个单独的转换,一个仅设置,一个仅dateStyle = .medium设置
timeStyle = .medium,然后连接结果。但我不知道
<date><space><time>
Run Code Online (Sandbox Code Playgroud)
格式适用于所有语言和地区。
更好的方法是使用setLocalizedDateFormatFromTemplate:
dateFormatter.setLocalizedDateFormatFromTemplate("MMM dd yyyy jj:mm:ss")
Run Code Online (Sandbox Code Playgroud)
这接近于您想要的,并且保证为所有语言环境设置提供合理的结果。这里有一些例子。
zh_CN:2017年8月13日,下午6:33:54 de:13.八月2017,18:33:54 ja:2017?8?13?18:33:54
请注意jj小时格式的使用,这将被解释为HH(24小时格式)或hh(12小时AM / PM格式),具体取决于区域设置。
Dáv*_*tor -4
您可以使用以下命令实现预期输出
dateFormatter.dateFormat = "MMM dd, yyyy h:mm:ss a"。
由于当前区域设置,该at单词被放在那里,因此如果您想在所有区域设置中删除它,您应该指定确切的日期格式,如上面所示。
| 归档时间: |
|
| 查看次数: |
569 次 |
| 最近记录: |