2012-06-04 148 views
4

我想這個自去年兩小時finaly留出來給你們:P更改日期格式

我需要這個字符串Mon, 14 May 2012, 12:00:55 +0200 轉換成日期dd/mm/yyyy hh:ss格式..

任何有助於實現目標的方式都將得到真正的讚賞。

我已經試過

我一直在使用NSDateFormatter嘗試,但我無法弄清楚上述日期的確切格式。 這[dateFormatter setDateFormat:@"EEEddMM,yyyy HH:mm:ss"];是我曾嘗試和許多其他格式也

如:

NSString *finalDate = @"Tue, 29 May 2012, 14:24:56 +0200"; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEEddMM,yyyy HH:mm:ss"]; 
    NSDate *date = [dateFormatter dateFromString:finalDate]; 

這裏日期alwasys當屬零

+0

[你有什麼試過](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – akk

+0

完成隊友。謝謝 –

+2

@Suriya歡迎來到stackoverflow – samfisher

回答

4

日期格式的最重要的組成部分常常被遺忘,告訴NSDateFormatter輸入語言:

NSDateFormatter *dateFormatter = [NSDateFormatter new]; 
[dateFormatter setDateFormat:@"EEE, dd MMMM yyyy, HH:mm:ss Z"]; 
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"EN"]; 
NSDate *date = [dateFormatter dateFromString:@"Mon, 14 May 2012, 12:00:55 +0200"]; 
NSLog(@"date: %@", date); 

我檢查的輸出:date: 2012-05-14 10:00:55 +0000

請注意,日期格式化程序中的HH用於24hr

現在我會建議不要使用固定的輸出方案,但使用NSDateFormatterStyle之一:

[dateFormatter setDateStyle:NSDateFormatterShortStyle]; 
[dateFormatter setTimeStyle:NSDateFormatterShortStyle]; 

NSString *dateString = [dateFormatter stringFromDate:date]; 

NSLog(@"date: %@", dateString); 

其中在美式英語會輸出:5/14/12 12:00 PM


此代碼是有效的ARC如果您未使用ARCautorelease添加到NSLocale,並在完成之後釋放NSDateFormatter

+0

@rckoenes ..你搖滾隊友..謝謝一噸 –

+0

如果投票沒有要求15 repu我會這樣做:) –

+0

你已經接受了答案,這是綽綽有餘。 – rckoenes

0
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init]; 
[inputFormatter setDateFormat:@"dd/mm/yyyy hh:ss"]; 
NSString *formatterDate = [inputFormatter stringFromDate:inDate]; 
[inputFormatter release]; 
0

獲取所有日期甲酸 我的博客鏈接inforamtion是http://parasjoshi3.blogspot.in/2012/01/date-formate-info-for-iphone-sdk.html

而且小功能也是波紋管.....

-(NSString *) dateInFormat:(NSString*) stringFormat { 
char buffer[80]; 
const char *format = [stringFormat UTF8String]; 
time_t rawtime; 
struct tm * timeinfo; 
time(&rawtime); 
timeinfo = localtime(&rawtime); 
strftime(buffer, 80, format, timeinfo); 
return [NSString stringWithCString:buffer encoding:NSUTF8StringEncoding]; 
} 

////////像.......

NSString *mydate = [self dateInFormat:@"%Y%m%d-%H%M%S"]; 

希望,這幫助你....