web-dev-qa-db-ja.com

AM / PMを大文字でswift

特定の形式で日時を表示するために、次のコードを作成しました。

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は表示されません。私を助けてください。

42
Amit Raj

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"
131
Leo Dabus