2012-10-30 6 views
15

Ich habe eine UIDatePicker und ich bekomme das ausgewählte Datum von ihm in yyyy-MM-dd format.Now möchte ich es in MM/dd/yyyy Format konvertieren ..Wie kann ich es tun?Datum im Format MM/TT/JJJJ in xcode konvertieren?

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); 

Ich bekomme 2012-10-30, aber ich möchte 30.10.2012.

+0

Das ist nicht wirklich mit Xcode zu tun ist, ist es mit dem Cocoa Touch Framework zu tun ist. –

+0

http://unicode.org/reports/tr35/tr35-10.html Anhang F ist dein Freund – jackslash

+0

Äh, ändern Sie das Datum Formatierer Format? –

Antwort

46

Siehe Anweisung oder Einführung mit jeder Zeile

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); 
+0

Warum von Datum in String zu Datum in String konvertieren ??? –

+1

@HotLicks hey Kumpel ich poste einfach diese Antwort mit Anweisungen, so dass jeder leicht den ganzen Fluss verstehen, also setze ich einfach diesen FLOW ... :) –

+1

@HotLicks Weil die ursprüngliche Frage von einem JJJJ-MM-TT stammte. Diese Antwort deckt das ab. Also bitte, wenn Sie abgestimmt haben. Erkläre warum. – doge

1

df.dateFormat = @ "MM/TT/JJJJ";

+0

Ich tat es.aber konnte es nicht bekommen – Honey

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

Nur um zu sehen, wie es endet:

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); 
0
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); 
1
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
[formatter setDateFormat:@"MM/dd/yyyy"];  
1

Die ursprüngliche akzeptierte Antwort hat ein paar Dinge extra:

1) Er weist zwei NSDateFormatter-Instanzen zu, die nicht benötigt werden. NSDateFormatter ist teuer zu erstellen.

2) Es ist besser, Datumsformatierer explizit zu veröffentlichen, wenn Sie damit fertig sind, anstatt eine verzögerte Freigabe mit 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]; 
1
- (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; 
} 

Genießen

Verwandte Themen