Je suis novice de c-objectif et je suis arrivé à ce problème fou ...NSDateFormatter renvoie zéro sur 2 entrées différentes qui dans le même format?
pour une faible cas de test de précision:
dateString = @ "2010-05-25 11:05:21", le succès de conversion .
dateString = @ "2010-03-01 15:54:36", la conversion échoue.
pour le cas de test de haute précision:
dateString = @ "2010-05-25 11: 05: 21,937113", le succès de la conversion.
dateString = @ "2010-03-01 15: 54: 36.937113", échec de la conversion.
ci-dessous est mon code:
// 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];
}
Toute aide est très appréciée !!
merci mon ami, le travail de nuit me fait vraiment perdre le focus! :( – sunnycmf