swift - swift 以大写字母显示 AM/PM

标签 swift date dateformatter

我编写了以下代码以特定格式显示日期时间:

let formatter = NSDateFormatter()
formatter.dateStyle = NSDateFormatterStyle.LongStyle
formatter.timeStyle = .MediumStyle
formatter.dateFormat = "HH:mm a 'on' MMMM dd, yyyy"
let dateString = formatter.stringFromDate(newDate!)
println(dateString)

输出

12:16 pm on July 17, 2015

我想将“pm”显示为“PM”(大写字母),如果电话有 24 小时格式,则不应显示 AM/PM。请帮我。

最佳答案

您可以按如下方式设置 DateFormatter amSymbol 和 pmSymbol:

Xcode 8.3 • Swift 3.1

let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "h:mm a 'on' MMMM dd, yyyy"
formatter.amSymbol = "AM"
formatter.pmSymbol = "PM"

let dateString = formatter.string(from: Date())
print(dateString)   // "4:44 PM on June 23, 2016\n"

关于swift - swift 以大写字母显示 AM/PM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31469172/

相关文章:

python - 在 seaborn 热图上显示日期

iOS swift : Could not cast value type '__NSCFNumber' to 'NSString'

ios - 在没有 segue 的情况下在 2 个 View 之间传递数据

ios - 如何从 UIViewController 中删除传递的闭包

date - 为什么 ColdFusion 使用相同的函数以不同的方式格式化日期

java - 获取当前一周日期的正确方法

swift - 在 DateFormatter 中使用 NumberFormatter

php - 在 Symfony 之外验证 FOS 用户

java - Spring按日期查询DateTime

Swift 将日期字符串转换为日期