我需要將字符串例如「12:00 AM」轉換爲24小時格式的日期對象。 當我運行下面的代碼來獲取日期對象時,我得到NULL。將語言環境更改爲en_US_POSIX也不起作用。將12小時時間NSString轉換爲24小時NSDate對象不起作用
NSString *TimeIn12hourFormat = @"12:00 am";
NSDateFormatter *timeFormatter = [NSDateFormatter new];
[timeFormatter setTimeStyle:NSDateFormatterShortStyle];
[timeFormatter setDateStyle:NSDateFormatterNoStyle];
[timeFormatter setLocale:[NSLocale currentLocale]];
[timeFormatter setDateFormat:@"HH:mm"];
NSDate *dateIn24HourFormat = [timeFormatter dateFromString:TimeIn12hourFormat];
NSLog(@"Time in 24 hour format : %@", dateIn24HourFormat);
如果我做錯了什麼,請指出來,否則指導我如何做到這一點。我搜索了很多,關於這種字符串日期轉換,但無法找到這種情況。 提前感謝任何幫助。
什麼是輸出?爲什麼直接使用'NSLog()'而不是使用日期格式化程序來打印日期對象?你似乎並不瞭解這裏的重要區別。 – trojanfoe
你的'dateFormat'與你的字符串不匹配。 「HH」是24小時,錯過了如何閱讀「上午」也。 – Larme
如果您稍後設置'DateFormat',Als設置'TimeStyle'和'DateStyle'將不起作用, – rckoenes