2011-09-08 93 views

回答

16
NSDate *date = [NSDate date]; //I'm using this just to show the this is how you convert a date 

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateStyle:NSDateFormatterLongStyle]; // day, Full month and year 
[df setTimeStyle:NSDateFormatterNoStyle]; // nothing 

NSString *dateString = [df stringFromDate:date]; [df release]; 
+0

这个方法不起作用..'[df setDateFormat:NSDateFormatterLongStyle];' - error and here - '[df setTimeFormate: NSDateFormatterNoStyle];' – LightNight

+0

@mazder - 道歉 - 我这次编辑过。再试一次。 – Abizern

+0

谢谢,现在它确定..但是当我试图从字符串获取日期时,它显示'2011年1月26日'为什么? – LightNight

6
NSString *dateStr = @"2011-08-26 14:14:51"; 

//if you have date then, 
NSString *dateStr = [NSString stringWithFormat:@"%@",yourDate]; 



NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; 
NSDate *date = [dateFormat dateFromString:dateStr]; 
[dateFormat setDateFormat:@"MMMM dd, YYYY"]; 
NSString* temp = [dateFormat stringFromDate:date]; 

[dateFormat release]; 



NSLog(@"%@",temp); 
+0

您的日期格式字符串是错误的。它应该是@“YYYY-MM-dd HH:mm:ss”。 D是指一年中的天数d是指月份中的天数 – Abizern

+0

好于thanx! – mayuur

12
NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease]; 
[df setDateFormat:@"dd LLLL yyyy"]; 
NSString *formattedDate = [df stringFromDate:[NSDate date]];