0
我的Objective-C的新手,我得到這個瘋狂的問題...NSDateFormatter返回兩個不同的輸入相同的格式?
用於低精度測試案例:
dateString = @ 「2010-05-25 11點05分21秒」,轉換成功。
dateString = @「2010-03-01 15:54:36」,轉換失敗。
高精度測試用例:
下面dateString = @ 「2010-05-25 11:05:21.937113」,轉換成功。
dateString = @「2010-03-01 15:54:36.937113」,轉換失敗。
是我的代碼:
// Date formatter
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss.SSSSSS"];
[dateFormatter setLocale:locale];
NSDateFormatter *lowPrecisionDateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[lowPrecisionDateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[lowPrecisionDateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
[lowPrecisionDateFormatter setLocale:locale];
// try high precision first, if fail, then go ahead to low precision.
NSDate *date = [dateFormatter dateFromString:dateString];
if(!date){
date = [lowPrecisionDateFormatter dateFromString:dateString];
}
任何幫助,高度讚賞!
感謝隊友,隔夜工作真的讓我失去了焦點! :( – sunnycmf 2010-05-26 02:17:39