Преобразование NSDate в ios

Я получаю NSString Sun Feb 24 2013 00:00:00 GMT+0530 (India Standard Time) хочу

преобразовать это в dd-mm-yy в ios. Это то, что я пробовал, я не получаю результат, поскольку я

хотел. Преобразование строки в объект даты:

 NSString  *dateStr = @"Sun Feb 24 2013 00:00:00 GMT+0530 (India Standard Time) " ;
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"];
    NSDate *date = [dateFormat dateFromString:dateStr];    
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
    NSDate *myDate = [df dateFromString: stripped];

Заранее спасибо.


person user2168483    schedule 14.03.2013    source источник
comment
Сначала вы должны удалить часть (India Standard Time) из dateStr.   -  person Raptor    schedule 14.03.2013
comment
Что вы получили на выходе?   -  person Prasad G    schedule 14.03.2013
comment
я получаю ноль на моей дате, я удалил строку GMT + 0530 (стандартное время Индии). я не знаю об изменении формата, спасибо   -  person user2168483    schedule 14.03.2013


Ответы (4)


@"Sun Feb 24 2013 00:00:00 GMT+0530 (India Standard Time) " 

Удалять

 (India Standard Time) 

затем сделать форматирование

NSString  *dateStr = @"Sun Feb 24 2013 00:00:00 GMT+0530" ;
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"EE LLLL dd yyyy HH:mm:ss Z"];
    NSDate *date = [dateFormat dateFromString:dateStr];
    [dateFormat setDateFormat:@"dd-MM-yyyy"];

    NSLog(@"%@",[dateFormat stringFromDate:date]);
person Lithu T.V    schedule 14.03.2013
comment
Я удалил его после этого, что именно я должен сделать? - person user2168483; 14.03.2013

Сначала удалите текст "GMT+0530 (Стандартное время Индии)",

    NSString  *dateStr = @"Sun Feb 24 2013 00:00:00" ;
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
   [dateFormat setDateFormat:@"EEE MMM d yyyy HH:mm:ss"];
    NSDate *date = [dateFormat dateFromString:dateStr];
person Hasintha Janka    schedule 14.03.2013

Попробуйте это: это сработало для меня

NSString  *dateStr = @"Sun Feb 24 2013 00:00:00 GMT+0530";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE MMM d yyyy HH:mm:ss Z"];

NSDate *date = [[NSDate alloc] init];
date = [dateFormat dateFromString:dateStr];
person Ankit    schedule 14.03.2013
comment
ЕСЛИ это работает, вы должны отметить это правильно и проголосовать, чтобы все знали, что это работает и это правильно. - person Ankit; 14.03.2013

Попробуй это

NSString  *dateStr = @"Sun Feb 24 2013 00:00:00 GMT+0530 (India Standard Time) " ;
NSString *clippedString = [dateStr substringToIndex:dateStr.length - 23];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EE LLLL dd yyyy HH:mm:ss Z"];

NSDate *date = [formatter dateFromString:clippedString];

[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
NSString *newDateString = [formatter stringFromDate:date];
person Anupdas    schedule 14.03.2013
comment
NSString *clippedString = [start substringToIndex:start.length - 23]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@EE LLLL дд гггг ЧЧ:мм:сс Z]; NSDate *date = [formatter dateFromString: stripped]; NSLog(@%@,дата); но дата по-прежнему нулевая - person user2168483; 14.03.2013
comment
@user2168483 user2168483 Я проверил приведенный выше код, он показывает правильные значения. - person Anupdas; 14.03.2013