在xcode中以MM / dd / yyyy格式转换date?

我有一个UIDatePicker ,我从它得到所选的dateyyyy-MM-dd format.Now我想将其转换为MM/dd/yyyy格式..我可以做到这一点?

 NSDateFormatter *df=[[[NSDateFormatter alloc]init] autorelease]; df.dateFormat = @"yyyy-MM-dd"; NSArray *temp=[[NSString stringWithFormat:@"%@",[df stringFromDate:DatePicker.date]] componentsSeparatedByString:@""]; [dateString2 release]; dateString2=nil; dateString2= [[NSString alloc]initWithString:[temp objectAtIndex:0]]; NSLog(@"%@",dateString2); 

我得到2012-10-30,但我想要10/30/2012。

请参阅每条线的说明或介绍

 NSString *str = @"2012-10-30"; /// here this is your date with format yyyy-MM-dd NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; // here we create NSDateFormatter object for change the Format of date.. [dateFormatter setDateFormat:@"yyyy-MM-dd"]; //// here set format of date which is in your output date (means above str with format) NSDate *date = [dateFormatter dateFromString: str]; // here you can fetch date from string with define format dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; [dateFormatter setDateFormat:@"dd/MM/yyyy"];// here set format which you want... NSString *convertedString = [dateFormatter stringFromDate:date]; //here convert date in NSString NSLog(@"Converted String : %@",convertedString); 

df.dateFormat = @“MM / dd / yyyy”;

 NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; [formatter setDateFormat:@"MM/dd/yyyy"]; 

只是为了看看它是如何结束的:

 NSDateFormatter* df = [[[NSDateFormatter alloc]init] autorelease]; df.dateFormat = @"MM/dd/yyyy"; NSString* dateString = [df stringFromDate:datePicker.date]; // Don't use leading caps on variables NSLog(@"%@", dateString); 
 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"MM/dd/yyyy"]; 

原来接受的答案会做一些额外的事情:

1)它分配两个不需要的NSDateFormatter实例。 NSDateFormatter创build起来很昂贵。

2)最好在你使用它们的时候明确地发布date格式化程序,而不是使用autorelease的延期发布版本。

 //get datepicker date (NSDate *) NSDate *datePickerDate = [myDatePicker date]; //create a date formatter NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; //set its format as the required output format [formatter setDateFormat:@"MM/dd/yyyy"]; //get the output date as string NSString *outputDateString = [formatter stringFromDate:datePickerDate]; //release formatter [formatter release]; 
 - (void)showTime { NSDate *now = [NSDate date]; NSDateFormatter *dateFormatter = [NSDateFormatter new]; [dateFormatter setDateFormat:@"HH:mm:ss"]; // you label _time.text = [dateFormatter stringFromDate:now]; } - (void)showDate { NSDate *now = [NSDate date]; NSDateFormatter *dateFormatter = [NSDateFormatter new]; [dateFormatter setDateFormat:@"MM/dd/yyyy"]; // you label _date.text = [dateFormatter stringFromDate:now]; } - (void)viewDidLoad { [super viewDidLoad]; self.showTime; self.showDate; } 

请享用

 NSString *str = @"2012-10-30"; /// here this is your date with format yyyy-MM-dd NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; // here we create NSDateFormatter object for change the Format of date.. [dateFormatter setDateFormat:@"yyyy-MM-dd"]; //// here set format of date which is in your output date (means above str with format) NSDate *date = [dateFormatter dateFromString: str]; // here you can fetch date from string with define format dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; [dateFormatter setDateFormat:@"dd/MM/yyyy"];// here set format which you want... NSString *convertedString = [dateFormatter stringFromDate:date]; here convert date in NSString NSLog(@"Converted String : %@",convertedString);