Je dois définir une chaîne de format pour un DateFormatter
pour convertir un NSString
en NSDate
.en conservant le fuseau horaire dans NSDateFormatter
La chaîne est au format: 2011-01-31 12:45:00 +0200
(AMJ h: m: s fuseau horaire)
J'utilise le format: @"yyyy'-'MM'-'dd' 'HH':'mm':'ss' 'Z"
, mais le fuseau horaire est converti en +0000 et l'heure est réglée, de sorte qu'un chaîne comme: 2011-01-31 12:45:00 +0200
est converti en: 2011-01-31 10:45:00 +0000
Le code est ici:
- (NSDate *) dateForString: (NSString *)dateString
{
NSDateFormatter *dateFormatter;
NSLocale *enUSPOSIXLocale;
NSDate *date;
dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
enUSPOSIXLocale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease];
[dateFormatter setLocale:enUSPOSIXLocale];
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd' 'HH':'mm':'ss' 'Z"];
// [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
date = [dateFormatter dateFromString:dateString];
return date;
}