Как изменить nsstring на формат nsdate в iphone? - PullRequest
2 голосов
/ 26 августа 2011

Я пытался преобразовать nsstring в формат nsdate.У меня есть дата в формате nsstring, например (2011-08-25 18:30:00 +0000), но я хочу изменить ее в формате nsdate (26.08.2011).Как это изменить?Кто-нибудь может мне помочь?Спасибо заранее ... Я потратил один день, чтобы решить эту проблему, но я не могу найти решение .. Пожалуйста, помогите мне друзья ....

Это мой код,

    NSString *dateString = @"2011-08-25 18:30:00 +0000";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];
NSLog(@"Converted date is %@",dateFromString);

Вывод,

         Converted date is (null)

Yuva.M

Ответы [ 3 ]

10 голосов
/ 26 августа 2011
NSString *dateWithInitialFormat = @"2011-08-25 18:30:00 +0000";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSDate *date = [dateFormatter dateFromString:dateWithInitialFormat];

[dateFormatter setDateFormat:@"MM/dd/yyyy"];
NSString *dateWithNewFormat = [dateFormatter stringFromDate:date];
NSLog(@"dateWithNewFormat: %@", dateWithNewFormat);

От NSLog: dateWithNewFormat: 25.08.2011

См. Шаблоны формата даты

1 голос
/ 26 августа 2011

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

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *myDate = [df dateFromString: myDateString];
0 голосов
/ 11 января 2013
NSDateFormatter* df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"MMMM dd, yyyy"];
    NSDate* d = [df dateFromString:@"January 06, 1992"];
    NSLog(@"%@", d);

    NSDate *dispalyDate = d;
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"dd MMM"];
    NSString *str = [dateFormat stringFromDate:dispalyDate];
    NSLog(@"%@", str);
...