2012-06-04 60 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"]; 

希望,这帮助你....