2014-02-03 2 views
0
"2014-02-03T23:10:00Z" 

Я знаю, что представляет собой каждое из чисел, но T и Z меня отбрасывают. Кто-нибудь знает, какой тип формата даты? Я бы предпочел использовать собственный парсер, если бы мог его найти.Идентификационный формат даты

Thanks

+0

Параметр 'Z' является часовым поясом. «Z» означает Zulu или UTC. – rmaddy

+0

Это фиксированный контент. «Т» обычно используется как разделитель даты/времени, а «Z» означает UTC. Вы можете записать их в формате '@" yyyy-MM-dd'T'HH: mm: ss'Z '"'. –

+0

(Вы также можете иметь формат «читать» часовой пояс, используя «@» yyyy-MM-dd'T'HH: mm: ssZZZZZ ».« Z »в строке даты будет считаться как UTC.) –

ответ

0

Это, по-видимому, формат ISO 8601. Для этого в RestKit есть синтаксический анализатор. Вы также можете получить NSDateFormatter, чтобы проанализировать его.

+1

Нет необходимости в специальном пакете - NSDateFormatter может легко проанализировать его. –

+0

@HotLicks Вы правы, я считаю, что вы можете заставить NSDateFormatter разобрать его. Я обновил ответ, чтобы заявить об этом. – Gavin

+0

@Gavin Нет «нужно». 'NSDateFormatter'" может "анализировать такие даты. – rmaddy

0

"2014-02-03T23: 10: 00Z" формат ISO 8601 (http://www.w3.org/TR/NOTE-datetime)

T представляет собой начало времени и Z представляет, что дата выражается в формате UTC (Universal Time)

если вы хотите получить дату с определенным форматом, вы можете использовать NSDateFormatter

NSDate *now = [NSDate date]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy/MM/dd"]; 
NSString *stringDate = [dateFormatter stringFromDate:date]; 
NSLog(@"%@", stringDate); // 2014/03/03 

Если вам нужно только определенную часть дня (например, только CUR аренда месяц):

NSDate *now = [NSDate date]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"MM"]; 
NSInteger *monthNumber = [[dateFormatter stringFromDate:date] integerValue]; 
NSLog(@"%i", monthNumber); // 03 

Если вам нужна дата на определенном языке:

NSDate *now = [NSDate date]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"dd' de 'MMMM' del 'yyyy"]; // You can add your own text between single quotes 
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"es_ES"]]; 
NSString *stringDate = [dateFormatter stringFromDate:date]; 
NSLog(@"%@", stringDate); // 03 de febrero del 2014 
+1

Ни один из кода, который вы опубликовали, не имеет отношения к вопросу. – rmaddy

+0

@rmaddy Он набрал «Я бы предпочел использовать собственный парсер, если бы мог найти его». поэтому я объяснил ему простым способом, как использовать собственный парсер, хотя вы можете быть правы. ^^ ' –

+1

Да, используя 'NSDateFormatter' для анализа строки даты ISO 8601 можно сделать. Весь код, который вы отправили, предназначен для преобразования некоторого «NSDate» в другие строковые форматы. Ничто из этого не имеет отношения к разбору строки даты ISO 8601 в 'NSDate'. – rmaddy

Смежные вопросы