:不正な時間 - 私は12時間形式の時間などの文字列以下のいるスウィフト
let timeFrom = "05:30 AM";
let timeTo = "04:35 PM";
し、次のように比較のためにこれらの日付を取得しようとしている:
let openTime = timeFrom.date(format: "hh:mm a")
let closeTime = timeTo.date(format: "hh:mm a")
この拡張子を持つ
:私はOPENTIMEとcloseTimeを印刷するとき
extension String
{
func date(format:String) -> Date?
{
let formatter = DateFormatter()
formatter.dateFormat = format
formatter.timeZone = NSTimeZone.local
return formatter .date(from: self)
}
}
、私は時間内に不正な値を取得しています:
print(openTime) // 2000-01-01 00:00:00 +0000
print(closeTime) // 2000-01-01 11:00:00 +0000
なぜそうですか?私はそれが時間帯に関連するスムージングだと思うので、私はNSDateFormatter return wrong date + Swiftを訪問するが、何も私のために働かなかった。誰かが解決策を持っているなら、私を助けてください。ありがとうございました !私は小さなスイフト3とXcode 8に確認してください
「HH」の間との違いを見つけるしてください変わる「HH」を –
oops .. 'hh'があるはずです。 @el Tomatoを指摘してくれてありがとう。確認中... – iAkki
[ISO 8601タイムスタンプから12時間形式だけを表示](http://stackoverflow.com/questions/15121065/display-just-the-12-hour-time-format-from)の可能な複製-an-iso-8601-timestamp)など多くのものがあります。 – rmaddy