Входная строка: '20100908041312'
формат - год, месяц, день, часы, минуты, секунды, часовой пояс
и я пытаюсь преобразовать его в NSDate с помощью этого: @"yyyyMMddHHmmsszz"
Но NSDate - ничто, кто-нибудь видит, что я делаю неправильно?
-(NSDate*)convertPDFDateStringAsDate:(NSString*) _string{
//20100908041312
//year month day Hours minutes seconds and time zone
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMddHHmmsszz"];
NSDate *date = [dateFormat dateFromString:_string];
//date is nil...
[dateFormat release];
return date;
}
EDIT: его часовой пояс, нарушающий его
EDIT2: @"yyyyMMddHHmmssTZD"
останавливает его, возвращая нуль, но dosnt правильно выбирает часовой пояс
EDIT3: Это был код, который я использовал в конце... я обнаружил, что формат изменяется от PDF к PDF, поэтому код имеет дело с вариациями, которые я нашел, в некоторых случаях это wont своевременно извлеките часовой пояс.
-(NSDate*)convertPDFDateStringAsDate:(NSString*) _string{
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
NSString * formatCheck = [_string substringToIndex:2];
if(![formatCheck isEqualToString:@"D:"])
{
NSLog(@"ERROR: Date String wasnt in expected format");
return nil;//return [NSDate date];
}
NSString * extract = [_string substringFromIndex:2];
//NSLog(@"DATESTRING:'%@'",extract);NSLog(@"DATELENGTH:%i",[extract length]);
if([extract length]>14)
{
[dateFormat setDateFormat:@"yyyyMMddHHmmssTZD"];
}
else
{
[dateFormat setDateFormat:@"yyyyMMddHHmmss"];
}
NSDate * date = [dateFormat dateFromString:extract];
[dateFormat release];
return date ;
}