2013-03-14 5 views
2

Я получаю NSString Sun Feb 24 2013 00:00:00 GMT+0530 (India Standard Time) я хочуNSDate преобразования в ИОС

преобразовать его в dd-mm-yy в ИОС. Это то, что я пробовал, не получаю выход, поскольку я

хотел. Преобразуйте строку в дату объекта:

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]; 

Заранее благодарите.

+0

Вы должны удалить часть '(Индия Standard Time)' в 'dateStr' первым. – Raptor

+0

Что вы получили? –

+0

Я получаю nil на mydate, я удалил строку GMT + 0530 (стандартное время Индии). я не знаю об изменении формата спасибо – user2168483

ответ

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

Удалить

(India Standard Time) 

затем делают formattings

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]); 
+0

Я убрал его после этого, что именно я должен делать? – user2168483

+0

@ user2168483: Попробуйте это :) обновил ответ –

0

Попробуйте

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]; 
+0

NSString * clippedString = [start substringToIndex: start.length - 23]; NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [форматирование setDateFormat: @ "EE LLLL dd yyyy HH: mm: ss Z"]; NSDate * date = [formatter dateFromString: stripped]; NSLog (@ "% @", дата); но дата все еще отсутствует – user2168483

+0

@ user2168483 Я протестировал вышеуказанный код, он показывает правильные значения. – Anupdas

0

Сначала удалите "GMT + 0530 (Индия Standard Time)" текст,

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]; 
0

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

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]; 
+0

great .. thank u – user2168483

+0

ЕСЛИ он работает, вы обязаны отмечать его правильно и вверх, чтобы все знали, что это работает, и это правильно. – Ankit

+0

ankit моя репутация меньше на верхнем уровне – user2168483

0
NSString *dateStr = @"Sun Feb 24 2013 00:00:00 GMT+0530" ; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC+0530"]]; 
[dateFormatter setDateFormat:@"EE LLL dd yyyy HH:mm:ss zzz"]; 
NSDate *date = [dateFormatter dateFromString:dateStr]; 


[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"]; 
NSString *newDateString = [dateFormatter stringFromDate:date]; 
NSLog(@"date : %@",newDateString); 
2
NSDateFormatter *sdateFormatter = [[NSDateFormatter alloc] init]; 
sdateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
[sdateFormatter setDateFormat:@"E MMM d yyyy HH:mm:ss 'GMT'zzz '(IST)'"]; 
NSDate *sdate = [sdateFormatter dateFromString:stringDate]; 
Смежные вопросы