Мне нужно установить строку формата для DateFormatter
, чтобы преобразовать NSString
в NSDate
.
Строка в формате: 2011-01-31 12:45:00 +0200
(y-m-d ч: м: с часовой пояс)
Я использую формат: @"yyyy'-'MM'-'dd' 'HH':'mm':'ss' 'Z"
, но часовой пояс конвертируется в +0000 и час корректируется, поэтому строка выглядит так:
2011-01-31 12:45:00 +0200
преобразуется в:
2011-01-31 10:45:00 + 0000
Код здесь:
- (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;
}