2011-08-26 29 views
2

我一直在努力將nsstring轉換爲nsdate格式。我有一個像(2011-08-25 18:30:00 +0000)nsstring格式的日期,但我想以nsdate格式(2011年8月26日)進行更改。如何改變它?任何人都可以幫助我嗎?在此先感謝...我有花一天來解決這一點,但我不能找出解決辦法。請幫助我的朋友....如何在iPhone中將nsstring更改爲nsdate格式?

這是我的代碼,

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

回答

10
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:2011年8月25日

Date Format Patterns

+0

謝謝Mr.CocoaFu。它的迴歸很好。但是,我想以日期格式將一個參數傳遞給webservice,nsstring不會丟失。你可以幫我嗎?請今天是這項任務的最後日期。請。 –

+0

檢查我提供的日期格式模式鏈接,這應該是您需要的,以及我提供的示例代碼。但如果你堅持提供更多信息。另外,如果它是正確和有幫助的,請接受我的回答。 – zaph

+0

雅你的答案是非常有幫助的。我不熟悉iphone開發,所以我很掙扎。有沒有與我的問題有關的示例代碼。再次感謝你。 –

1

您需要使用NSDateFormatter,並設置日期格式以匹配你如何存放,像下面。

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; 
NSDate *myDate = [df dateFromString: myDateString]; 
+0

謝謝Mr.Nicholas,我已經編輯我的問題。請看看這個。我已經試過這個代碼,但我不能得到答案。你能解決我的問題嗎?請。 –

+0

你的日期格式是錯誤的,它需要匹配你放入它的格式,然後將它存儲爲它自己的樣式。 –

+0

好朋友..我仍然試圖解決這個問題。感謝您花時間與我..我會更新我的答案,一旦我解決了這個問題。 –

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