我有問題。我以12小時格式獲得傳入時間字符串,並將它們轉換爲NSDate對象。當iPhone處於12小時制格式時,沒有問題。但是當它是24小時制時,事情就會出錯。下面是一些示例代碼來演示:NSDateFormatter dateFromString和iPhone在24小時格式混亂
NSString *theTime = @"3:19 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"h:mm a"]; // "3:19 PM"
NSDate *date = [formatter dateFromString:theTime];
NSString *theString = [formatter stringFromDate:date];
民國24小時模式,日期是1970-01-01三點19分00秒,並theString是 「3:19」 - 錯誤
12小時模式,日期是1970-01-01 15點19分00秒,並theString是「下午三時19分」 - 右
所以......問題1:爲什麼是設備的24小時設置覆蓋我的日期格式化設置?
更重要的是,問題2:如何獲得從12小時到24小時的正確轉換?
我已經有了檢測手機是否處於24小時模式的代碼,但除了在字符串中挖掘並用15交換3以外,似乎沒有一種乾淨的方式來執行此操作。
這個答案在我選擇了另一條路線後很久了,但這聽起來很合理,而其他人已經驗證過了,所以我會將其標記爲已回答。 – Silromen
它是如何爲你工作的..我沒有得到12小時的設置。 – Hisenberg
非常感謝!!!!它現在可以工作.... – harshit2811