2012-04-11 51 views
0

我在字符串合成廣告中獲取日期「2012-04-11T07:51:10 + 0000」&我想將其轉換爲NSDate作爲「11-04-2012」。我不明白如何使用「setDateFormat」。如何進行日期轉換?

這就是我正在做的 - [dateFormatter setDateFormat:@「yyyy' - 'MM' - 'dd'T'HH':'mm':'ss'+'zzzz」];

請幫忙。

而無論NSDate我會得到我再次想要轉換爲字符串ie。只有11-04-2012。 我已經在ggl上搜索過。但是,沒有滿意的結果:(

請幫助

回答

0

下面是如何解析字符串生成日期:

NSString *dateString = @"2012-04-11T07:51:10+0000"; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
formatter.dateFormat = @"yyy-MM-dd'T'HH:mm:ssZ"; 
NSDate *date = [formatter dateFromString:dateString]; 
NSLog(@"Date: %@", date); 

現在,您可以生成日期的一個新的字符串表示如下:

formatter.dateFormat = @"dd-MM-yyyy"; 
NSString *newDateString = [formatter stringFromDate:date]; 
NSLog(@"New string: %@", newDateString); 
// 11-04-2012 

dateFormat您的問題,我們重新使用的是,你不必逃避所有符號,如'MM'zzzz不是解析+0000類型的時區的正確符號。

查看此documentation瞭解更多信息。

+0

謝謝你:) – PriyankaJ 2012-04-11 10:17:44

+0

但是,如何才能得到日期部分呢? – PriyankaJ 2012-04-11 10:21:56

+1

你是什麼意思?您可能正在尋找'newDateString'。 – sch 2012-04-11 10:24:04

0

試試看看這個代碼。

NSString *dateStr = @"Wed, 22 Jun 2011 12:36:00 +0100"; // change value base on your requirement. 

    // Convert string to date object 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"EEE, d MMM yyyy HH:mm:ss ZZZ"]; // Change format base on dareStr. 
    NSDate *date = [dateFormat dateFromString:dateStr]; 

    // Convert date object to desired output format 
    [dateFormat setDateFormat:@"EEE, MMM d YYYY"]; // Change format base on your output requirement 
    dateStr = [dateFormat stringFromDate:date]; 
    NSLog(@"Date -- %@",dateStr); 
    [dateFormat release]; 
+0

這是用於從日期字符串獲取所需的日期。 – 2012-04-11 10:15:02