如何从格式化的日期字符串中删除 'at'?
How to remove 'at' from formatted date string?
这是日期格式化程序设置:
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .medium
预期输出:
Aug 13, 2017 6:04:11 PM
当前输出:
Aug 13, 2017 at 6:04:11 PM
如何在不指定格式字符串的情况下理想地删除'at'单词,它来自哪里?
使用奥地利德语语言环境:
dateFormatter.locale = Locale(identifier: "de_AT")
13.08.2017, 18:04:11
使用美国英语语言环境:
dateFormatter.locale = Locale(identifier: "en_US")
Aug 13, 2017 at 6:04:11 PM
你可以把它写成一个字符串,然后用text.Replace来替换它。
您可以使用
实现预期的输出
dateFormatter.dateFormat = "MMM dd, yyyy h:mm:ss a"
.
at
单词放在那里是因为当前的区域设置,所以如果你想为所有区域设置去掉它,你应该指定确切的日期格式,如上所示。
一种选择是进行两次单独的转换,一次
仅设置 dateStyle = .medium
,并且仅设置一个
timeStyle = .medium
,然后拼接结果。但我不知道
如果
<date><space><time>
格式在所有语言和区域设置中都有意义。
更好的方法是使用 setLocalizedDateFormatFromTemplate
:
dateFormatter.setLocalizedDateFormatFromTemplate("MMM dd yyyy jj:mm:ss")
这很接近你想要的,并且保证给你一个
所有区域设置的合理结果。这里有一些例子。
en_US: Aug 13, 2017, 6:33:54 PM
de: 13. Aug. 2017, 18:33:54
ja: 2017年8月13日 18:33:54
注意小时的jj
格式的用法,这将被解释
作为 HH
(24 小时格式)或 hh
(12 小时 AM/PM 格式),具体取决于
在语言环境上。
这是日期格式化程序设置:
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .medium
预期输出:
Aug 13, 2017 6:04:11 PM
当前输出:
Aug 13, 2017 at 6:04:11 PM
如何在不指定格式字符串的情况下理想地删除'at'单词,它来自哪里?
使用奥地利德语语言环境:
dateFormatter.locale = Locale(identifier: "de_AT")
13.08.2017, 18:04:11
使用美国英语语言环境:
dateFormatter.locale = Locale(identifier: "en_US")
Aug 13, 2017 at 6:04:11 PM
你可以把它写成一个字符串,然后用text.Replace来替换它。
您可以使用
实现预期的输出dateFormatter.dateFormat = "MMM dd, yyyy h:mm:ss a"
.
at
单词放在那里是因为当前的区域设置,所以如果你想为所有区域设置去掉它,你应该指定确切的日期格式,如上所示。
一种选择是进行两次单独的转换,一次
仅设置 dateStyle = .medium
,并且仅设置一个
timeStyle = .medium
,然后拼接结果。但我不知道
如果
<date><space><time>
格式在所有语言和区域设置中都有意义。
更好的方法是使用 setLocalizedDateFormatFromTemplate
:
dateFormatter.setLocalizedDateFormatFromTemplate("MMM dd yyyy jj:mm:ss")
这很接近你想要的,并且保证给你一个 所有区域设置的合理结果。这里有一些例子。
en_US: Aug 13, 2017, 6:33:54 PM de: 13. Aug. 2017, 18:33:54 ja: 2017年8月13日 18:33:54
注意小时的jj
格式的用法,这将被解释
作为 HH
(24 小时格式)或 hh
(12 小时 AM/PM 格式),具体取决于
在语言环境上。