swift - 如何从格式化的日期字符串中删除 'at'?

标签 swift nsdateformatter dateformatter

这是日期格式化程序设置:

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

最佳答案

一种选择是进行两个单独的转换,一个
仅设置 dateStyle = .medium , 并且只有一个设置timeStyle = .medium ,然后连接结果。但我不知道
如果一个

<date><space><time>

格式在所有语言和地区都有意义。

更好的方法是使用 setLocalizedDateFormatFromTemplate :
dateFormatter.setLocalizedDateFormatFromTemplate("MMM dd yyyy jj:mm:ss")

这接近您想要的,并且保证给
所有区域设置的合理结果。这里有一些例子。

en_US:2017 年 8 月 13 日下午 6:33:54
发布时间:2017 年 8 月 13 日,18:33:54
ja:2017年8月13日18:33:54

注意jj的用法小时的格式,这将被解释
HH (24 小时制)或 hh (12 小时 AM/PM 格式),视情况而定
在语言环境上。

关于swift - 如何从格式化的日期字符串中删除 'at'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45662367/

相关文章:

json - 如何在没有时区的情况下解析 ISO8061 日期

ios - 如何在 iOS 和 Swift 中使用 DateFormatter 以 09-Nov-2014 格式格式化日期?

ios - 使用解析来检索并在 TableView 中显示用户的对象,但 TableView 不会更新

ios - 如何固定 LiquidFloatingActionButton 在 UITableView 中的位置?

objective-c - 从 NSDate 对象中删除时间并将其保存在 NSDate 而不是字符串中?

ios - 什么 NSDateFormat 是 1991-07-26T05 :45:50. 163

swift 包 --verbose generate-xcodeproj 给出错误 : reachedTimeLimit

Swift 安全区域布局未正确激活

ios - 如何在 Swift 中将本地时间日期转换为 UTC?

java - 在 Spring Boot 中接受阿拉伯日期作为查询参数