Swift NSDateFormatter が正しいロケールとフォーマットを使用していない 質問する

Swift NSDateFormatter が正しいロケールとフォーマットを使用していない 質問する

これが私のコードです:

let currentDate = NSDate()
let usDateFormat = NSDateFormatter()
usDateFormat.dateFormat = NSDateFormatter.dateFormatFromTemplate("d MMMM y", options: 0, locale: NSLocale(localeIdentifier: "en-US"))
cmt.date = usDateFormat.stringFromDate(currentDate)

「2015 年 10 月 15 日」が表示されると思っていましたが、「oktober 15, 2015」が表示されました。月はスウェーデン語のロケールです。

何を間違えたのでしょうか? ロケールとフォーマットの両方が間違っています。

ベストアンサー1

これを試して:

let dateString = "2015-10-15"
let formater = NSDateFormatter()
formater.dateFormat = "yyyy-MM-dd"
print(dateString)

formater.locale =  NSLocale(localeIdentifier: "en_US_POSIX")
let date = formater.dateFromString(dateString)
print(date)

Swift 3 Xcode 8

let dateString = "2015-10-15"
let formater = DateFormatter()
formater.dateFormat = "yyyy-MM-dd"
print(dateString)

formater.locale =  Locale(identifier: "en_US_POSIX")
let date = formater.date(from: dateString)
print(date!)

お役に立てれば幸いです。

おすすめ記事