2011-12-07 3 views
0

я взять дату пользователя из Facebook, это выглядит какформат NSString для NSDate

"birthday_date" = "03/04/1987" я написал этот код

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
    [dateFormatter setDateFormat:@"dd/MM/YYYY"]; 
    NSDate *dateFromString = [dateFormatter dateFromString:birthDate]; 

    NSLog(@"dateformstring %@ ",dateFromString); 
    [birthPicker setDate:dateFromString animated:YES]; 

и дата результата из строки si: 1988-12-25 23:00:00 +0000, у меня эта дата выбрана в сборщике, я не знаю, где была эта дата:/

ответ

3

Попробуйте [dateFormatter setDateFormat:@"dd/MM/yyyy"];

2

oops. Как сказал tilo, используйте «yyyy». Как уже упоминалось в Apple docs: «, используемый в год-недельного календаря ISO

„ Распространенной ошибкой является использование YYYY YYYY определяет календарный год, тогда как YYYY определяет год (из“Недели года)»

0

Расширение NSString для этого.

// Simple as this. 
date = dateString.dateValue; 

Благодаря NSDataDetector, он распознает всю массу формата.

// Tested in GMT+1 (Hungary). 
@"2014-01-16" dateValue is <2014-01-16 11:00:00 +0000> 
@"2014.01.16" dateValue is <2014-01-16 11:00:00 +0000> 
@"2014/01/16" dateValue is <2014-01-16 11:00:00 +0000> 
@"2014 Jan 16" dateValue is <2014-01-16 11:00:00 +0000> 
@"2014 Jan 16th" dateValue is <2014-01-16 11:00:00 +0000> 
@"20140116" dateValue is <2014-01-16 11:00:00 +0000> 
@"01-16-2014" dateValue is <2014-01-16 11:00:00 +0000> 
@"01.16.2014" dateValue is <2014-01-16 11:00:00 +0000> 
@"01/16/2014" dateValue is <2014-01-16 11:00:00 +0000> 
@"16 January 2014" dateValue is <2014-01-16 11:00:00 +0000> 
@"01-16-2014 17:05:05" dateValue is <2014-01-16 16:05:05 +0000> 
@"01-16-2014 T 17:05:05 UTC" dateValue is <2014-01-16 17:05:05 +0000> 
@"17:05, 1 January 2014 (UTC)" dateValue is <2014-01-01 16:05:00 +0000> 

Часть eppz!kit, возьмите категорию NSString+EPPZKit.h из GitHub.

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