Нужна помощь для определенного формата даты

#iphone #ios #date #date-format

#iPhone #iOS #Дата #дата-формат

Вопрос:

У меня есть следующая строка даты,

 2011-08-30T11:44:54.345-04:00
 

Помогите мне составить правильный формат для его анализа dateFromString:

Ответ №1:

Вам необходимо исключить последнее двоеточие (часовой пояс, «-04:00» -> «-0400»), поскольку Z потребуется что-то вроде «-0800», тогда вы можете попробовать это сделать:

 NSString *dateString = @"2011-08-30T11:44:54.345-04:00";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-ddEHH:mm:ss.SSSZ"];
NSDate *date = [dateFormat dateFromString:dateString];
[dateFormat release];
 

Для получения дополнительной информации о форматировании даты обратитесь к этой странице.

Ответ №2:

Это следует за ответом Тило, но с добавлением нескольких вещей.

 NSString *dateString = @"2011-08-30T11:44:54.345-04:00";
NSRange range = [dateString rangeOfString:@":" options:NSBackwardsSearch];
dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString:@"" options:0 range:range];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-ddEHH:mm:ss.SSSZ"];
NSDate *date = [dateFormat dateFromString:dateString];
[dateFormat release];
 

Вы получите требуемый формат.