我在我的應用程序中使用了AFFeedParser來解析來自不同HTML頁面的文章。更改日期格式爲iPhone中的特殊格式
通過分析,我得到了寫article DATE like
"Thu, 06 Dec 2012 17:44:22 +0000\n\t\t"
爲字符串。
如何將其轉換成像Thursday,December 06,2012
這樣的日期?
我在我的應用程序中使用了AFFeedParser來解析來自不同HTML頁面的文章。更改日期格式爲iPhone中的特殊格式
通過分析,我得到了寫article DATE like
"Thu, 06 Dec 2012 17:44:22 +0000\n\t\t"
爲字符串。
如何將其轉換成像Thursday,December 06,2012
這樣的日期?
,請參看日誌還,我知道了......
NSString *yourStringDate = @"Thu, 06 Dec 2012 17:44:22 +0000\n\t\t";
NSString *str =[yourStringDate stringByReplacingOccurrencesOfString:@"\n" withString:@""];
str =[str stringByReplacingOccurrencesOfString:@"\t" withString:@""];
[str retain];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];
NSDate *date = [dateFormatter dateFromString: str];
dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"EEEE,LLLL dd,yyyy"];
NSString *convertedString = [dateFormatter stringFromDate:date];
NSLog(@"Converted String : %@",convertedString);
輸出是:轉換後的字符串:週四,06,2012十二月
也看到我的另一個答案爲GET的NSDate從字符串但在這一點上,你只是像上面設置你的格式,只是改變格式從... convert-string-to-nsdate-with-custom-format
我希望這對你有所幫助....
我變得空作爲轉換的字符串 – user1673099
@ user1673099看到這給了正確的輸出,只需複製並粘貼此代碼在您的方法或viewWillAppear也... :)我編輯整個代碼花花公子...現在複製並使用它。 .. –
在這裏你得到空值bcoz我們沒有爲它的夥計設置適當的格式... –
找到了答案:
NSString *[email protected]"Thu, 06 Dec 2012 17:44:22 +0000\n\t\t";
NSString *trimDate=[[inputDate componentsSeparatedByString:@"+"]objectAtIndex:0];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init] ;
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:trimDate];
[dateFormatter setDateFormat:@"EEEE, MMMM dd,yyyy"];
NSString *dateString = [dateFormatter stringFromDate:date];
NSLog(@"dateString = %@", dateString);
輸出:
dateString = Thursday,December 06,2012
第2行的解釋:他創建了一個由「\」分隔的「NSArray」,它返回「Thu,2012年12月6日17:44:22 +0000」,「n」,「t」, 「t」並選擇第一個元素。 –
否.... @「\」無法使用,所以@「\\」一個額外\被用作轉義字符。然後星期四,'06 Dec 2012 17:44:22 + 0000'被存儲在存儲在trimDate中的數組的第一個索引(即0)中,之後它很簡單。 –
正如你所看到的,我翻譯了@「\\」給人類「\」,這更容易理解,因爲不是每個人都知道什麼是嚴格意義上的手段。其次,我嘗試創建一個包含4個元素的僞數組:1:「Thu,2012年12月6日17:44:22 +0000」| 2:「n」| 3:「t」| 4:「t」。 (對不起,我的第一條評論中的「+0000」出現在下一行) –
NSString *[email protected]"Thu, 06 Dec 2012 17:44:22 +0000\n\t\t";
NSString *getDate=[[dateStr componentsSeparatedByString:@"\\"]objectAtIndex:0];
在這裏,你應該照顧的日期和時間的本地代表的,所以你應該使用。
NSDateFormatter dateFormat = [NSDateFormatter dateFormatFromTemplate:@"yMMMMd" options:0 locale:[NSLocale systemLocale]];
NSDate *date=[dateFormat dateFromString:getDate];
NSLog(@"dateString = %@", [dateFormat stringFromDate:date]);
谷歌或SO,數以千計的類似這樣的回答是有..或檢查的NSDate文檔https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes /NSDate_Class/Reference/Reference.html –
你可以檢查我的答案與ios不兼容。 –