我有一個字符串「2012-06-04」和我有一個很難將其轉換爲:2012年6月4。需要定製時間戳轉換成不同的格式在Objective-C的iOS
是否有一個快速的方法來改變這個?我來自一個Ruby世界裏,你將一切秒和轉換回給你需要的格式。有沒有參考資料顯示如何做到這一點?
感謝
我有一個字符串「2012-06-04」和我有一個很難將其轉換爲:2012年6月4。需要定製時間戳轉換成不同的格式在Objective-C的iOS
是否有一個快速的方法來改變這個?我來自一個Ruby世界裏,你將一切秒和轉換回給你需要的格式。有沒有參考資料顯示如何做到這一點?
感謝
一個辦法這樣做,是使用NSDateFormatter與2012-06-04格式的字符串轉換爲一個NSDate,然後使用6月4日轉換的NSDate返回一個字符串,2012格式:
NSString* input = @"2012-06-04";
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd"];
NSDate* date = [df dateFromString:input];
[df setDateFormat:@"MMMM d, yyyy"];
return [df stringFromDate:date];
格式字符串的語法在UTS #35中描述。
喜歡的東西
NSDateFormatter *fromDateFormatter = [[NSDateFormatter alloc] init];
fromDateFormatter.dateFormat = @"yyyy-MM-dd";
NSDate *date = [fromDateFormatter dateFromString:@"2012-06-04"];
NSLog(@"%@", date);
NSDateFormatter *toDateFormatter = [[NSDateFormatter alloc] init];
toDateFormatter.dateFormat = @"MMMM d, yyyy";
NSString *toDate = [toDateFormatter stringFromDate:date];
NSLog(@"%@", toDate);
#=> 2012-05-30 20:51:12.205 Untitled[1029:707] 2012-06-03 23:00:00 +0000
#=> 2012-05-30 20:51:12.206 Untitled[1029:707] June 4, 2012
要工作了這一點,你可以使用蘋果的類引用NSDateFormatter和其他來源這樣IPHONE NSDATEFORMATTER DATE FORMATTING TABLE和一些試驗和錯誤
完美,非常簡單。謝謝! –