我有以下字符串作爲12小時制時間:不正確的時間爲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")
有了這個擴展:
extension String
{
func date(format:String) -> Date?
{
let formatter = DateFormatter()
formatter.dateFormat = format
formatter.timeZone = NSTimeZone.local
return formatter .date(from: self)
}
}
當我打印的OpenTime和closeTime,我及時得到不正確的值:
print(openTime) // 2000-01-01 00:00:00 +0000
print(closeTime) // 2000-01-01 11:00:00 +0000
爲什麼這樣呢?我認爲這是與時區有關的smoething,所以我訪問NSDateFormatter return wrong date + Swift,但沒有爲我工作。如果有人有解決方案,請幫助我。謝謝 !
找出之間的 「HH」 和差異 「HH」。 –
哎呀..應該有'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