2013-08-07 2 views
8

У меня есть строка, как этотIOS, как установить формат даты

NSString *datestr = @"2013-08-06T03:51:54+00:00"; 

Я пытаюсь установить DateFormat, как показано ниже:

NSDateFormatter *dformat = [[NSDateFormatter alloc]init]; 

[dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"]; 

NSDate *date = [dformat dateFromString:datestr]; 

Но дата будет ноль, так что, может кто-нибудь сказать мне, как установить дату, thx!

+3

Не день без 'NSDateFormatter' dupe !! – Amar

+0

Я хочу в "2015-12-31T01: 45: 00.5876454 + 05: 30" это из? – python

+0

Этот вопрос больше подходит для поиска, чем ранее ответили на вопрос, а в другом вопросе нет принятого ответа – Gerald

ответ

12

Попробуйте это:

NSDateFormatter *dformat = [[NSDateFormatter alloc]init]; 

[dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"]; 

NSDate *date = [dformat dateFromString:datestr]; 

Добавить ZZZ в конце вашего форматировщиком.

+1

-1, потому что неправильно. откройте Xcode и попробуйте сами. –

+1

Я попробовал, он не работает. – billwang1990

1

попробовать ниже:

NSString *dateString = @"2013-08-06T03:51:54+00:00"; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ"; 

NSDate *date; 
NSError *error; 
[formatter getObjectValue:&date forString:dateString range:nil error:&error]; 
+0

Я получил результат, спасибо – billwang1990

6

Попробуйте этот код

NSString *datestr = @"2013-08-06T03:51:54+00:00"; 
NSDateFormatter *dformat = [[NSDateFormatter alloc]init]; 

[dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssz"]; 

NSDate *date = [dformat dateFromString:datestr]; 

использование малых г где г даст вам - с конкретным форматом без местонахождения. Там, где это невозможно, возвращается в локализованный формат GMT. Используйте от одного до трех букв для короткого формата или четыре для полного формата. В коротком формате, имена metazone не используются, если флаг commonlyUsed не включен в локало

для зоны для получения дополнительной информации о дате Формат Patterns в Objective C см этой ссылки http://www.unicode.org/reports/tr35/tr35-19.html#Date_Format_Patterns надеюсь, что это поможет вам

+1

спасибо, это правильно! – billwang1990

+0

Также имейте в виду, что ваши строки формата могут быть магически переписаны в некоторых регионах, иногда https://developer.apple.com/library/ios/qa/qa1480/_index.html – Earlz

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