2012-06-04 21 views
0

日期格式我從XML文件解析的日期,並將其存儲在一個字符串變量是這樣的:試圖改變的iOS

NSString *dateTex = [[stories objectAtIndex: storyIndex] objectForKey: @"date"]; 

當我嘗試打印在控制檯上這個變量i得到:

對象值是:星期五,2012年6月1日15時52分00秒GMT

我試圖更改上述日期的格式,被一個串在可變再次存儲,但這樣的:DD/MM/YY。 我試過這段代碼:

//changing dates format 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE, d MMM YYYY HH:mm:ss Z"]; 

NSDate *date = [dateFormatter dateFromString:dateTex]; 
[dateFormatter release]; 

NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init]; 
[dateFormatter2 setDateFormat:@"dd/mm/yyyy"]; 
NSString *dateText = [dateFormatter2 stringFromDate:date]; 
[dateFormatter2 release]; 
NSLog(@"the object value is:%@",dateText); 

但是,當我打印的控制檯dateText變量i得到:

對象的值是:(空)

我在做什麼錯的,日期爲從來沒有存儲在變量中? 謝謝!

回答

0

試試這個,(setDateFormat行改變了)。

//changing dates format 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"]; // changed line in your code 

    NSDate *date = [dateFormatter dateFromString:dateTex]; 
    [dateFormatter release]; 

    NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init]; 
    [dateFormatter2 setDateFormat:@"dd/MM/yyyy"]; // changed line in your code 
    NSString *dateText = [dateFormatter2 stringFromDate:date]; 
    [dateFormatter2 release]; 
    NSLog(@"the object value is:%@",dateText); 

對於日曆一年的使用:「YYYY」和每月使用:「MM」

0

也許你解析格式是錯誤的。檢查,如果NSDate *日期填寫正確。

也許你需要另一個d,因爲你得到一個前導零的一天。
嘗試:EEE, dd MMM YYYY HH:mm:ss Z

+0

我試過太多,但它不工作..我該怎麼檢查? – donparalias

0

您的第一個dateformatter的日期格式是錯誤的。它應該是 [dateFormatter setDateFormat:@「EEE,dd MMM YYYY HH:mm:ss Z」];

希望這會有所幫助。

+0

另外,我認爲你的第二個日期格式應該是:dd/MM/yyyy – Nameet

+0

剛剛嘗試過兩次...再次變量爲空結果.. – donparalias