2017-03-06 5 views
-1

dateFormatの構築に間違ったドキュメントを使用して、定義済みの形式の時刻を解析していました。 maddy(下)が正しいドキュメントへのリンクを提供しました。SwiftのDateFormatterを使用して時刻を解析するdateFormatの適切な構築3.1

は、ここで私は間違ったフォーマットを使用したときに何が起こったかです:

var idf = DateFormatter() 
idf.locale = Locale(identifier: "en_US") 
idf.dateStyle = .none 
idf.dateFormat = "hh:MM:SSa" 

// Of the variables defined here, the only one that doesn't cause an error 
// is the last one: 
var sMidnight: String = "12:00:00AM" 
var sEarly: String = "12:40:22AM" 
var sMorning: String = "6:00:00AM" 
var sNoon: String = "12:00:00PM" 
var sAfternoon: String = "12:30:22PM" 
var sEvening: String = "7:05:45PM" 

// Put any of the variables besides sEvening here and you get a crash. 
// "fatal error: unexpectedly found nil while unwrapping an Optional value" 
var date: Date = idf.date(from: sEvening)! 

print(idf.string(from: date)) // prints 07:05:45 PM 
+2

フォーマット指定子に関するドキュメントを参照してください。あなたは間違ったものを使っています。 – rmaddy

答えて

3

MMは2桁の月数のためです。 SSは分数秒です。書式指定子に関連するthe documentationを確認してください。

あなたがしたい:あなたの形式の

"h:mm:ssa" 

+0

ありがとうございます。私は正しい文書を見つけることができませんでした。それは問題を解決します。 –

+0

喜んで助けてください。あなたの問題を解決する答えを受け入れることを忘れないでください。あなたの質問は一切終了していないようです。 – rmaddy

関連する問題