我正在使用NSDataDetector讀取並將NSString日期/時間交換到NSDate中。iOS的NSDataDetector交換AM小時至PM小時(兩者應該是24小時)
輸入(lastRefreshStampString)是2014-05-05 02:54:45 +0000但是,一旦它被NSDataDetector處理,result.date就會變成2014-05-05 14:54:45 +0000。出於某種原因,它將02看作是PM並將其交換。
我該如何糾正這種行爲?
NSLog(@"lastRef:%@",lastRefreshStampString);
__block NSDate *lastRefreshStamp;
//Detect data format
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingAllTypes error:nil];
[detector enumerateMatchesInString:lastRefreshStampString
options:kNilOptions
range:NSMakeRange(0, [lastRefreshStampString length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop)
{ lastRefreshStamp = result.date; }];
NSLog(@"lastRef:%@",lastRefreshStamp);
謝謝你。發現!我從來沒有意識到NSDataDetector有這樣的問題!再次感謝。 – MrNeilM