Ive mi sta tormentando il cervello senza fortuna. Qualcuno potrebbe dirmi come vorrei convertire questa stringa:Come trasformare una NSString in NSDate?
"2011-01-13T17: 00: 00 + 11: 00"
in una NSDate?
Ive mi sta tormentando il cervello senza fortuna. Qualcuno potrebbe dirmi come vorrei convertire questa stringa:Come trasformare una NSString in NSDate?
"2011-01-13T17: 00: 00 + 11: 00"
in una NSDate?
Il formato della data unicode doc è here
Inoltre, per la vostra situazione, si potrebbe provare questo:
// original string
NSString *str = [NSString stringWithFormat:@"2011-01-13T17:00:00+11:00"];
// convert to date
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
// ignore +11 and use timezone name instead of seconds from gmt
[dateFormat setDateFormat:@"YYYY-MM-dd'T'HH:mm:ss'+11:00'"];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"Australia/Melbourne"]];
NSDate *dte = [dateFormat dateFromString:str];
NSLog(@"Date: %@", dte);
// back to string
NSDateFormatter *dateFormat2 = [[NSDateFormatter alloc] init];
[dateFormat2 setDateFormat:@"YYYY-MM-dd'T'HH:mm:ssZZZ"];
[dateFormat2 setTimeZone:[NSTimeZone timeZoneWithName:@"Australia/Melbourne"]];
NSString *dateString = [dateFormat2 stringFromDate:dte];
NSLog(@"DateString: %@", dateString);
[dateFormat release];
[dateFormat2 release];
Speranza questo aiuta.
Grazie, questo è perfetto. Il fuso orario tra virgolette singole non era previsto ma era quello che lo fissava :) – jennas
non riuscivo a capire che "T" nel mezzo. Quindi questo ha aiutato. Grazie! – user1244109
Hai provato questo
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *dateT = [dateFormatter dateFromString:str];
Acclamazioni
Ciao, sì ho questo NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; NSDate * dateT = [dateFormatter dateFromString: @ "2011-01-13T17: 00: 00 + 11: 00"]; NSLog (@ "data Da stringa:% @", dataT); Questo restituisce (null) – jennas
Questo ti aiuterà http://stackoverflow.com/questions/4655199/how-to-set-date-format-retrieved-from-uidatepicker/4655297#4655297 – Aditya
Questo è sbagliato, Non funziona del tutto, dà una data nulla. –
mettere la parte T tra virgolette singole, e verificare la documentazione unicode per la formattazione esatta. Nel mio caso, ho qualcosa di simile, che faccio questo:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd'T'HH:mm:ss.SSS"];
Ancora, non esattamente la stessa cosa, ma si ottiene l'idea. Inoltre, fai attenzione ai fusi orari quando converti avanti e indietro tra stringhe e nsdate.
Ancora una volta, nel mio caso, io uso:
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"America/New_York"]];
Salve, im impostazione [NSTimeZone systemTimeZone] che è la zona corretta. Il seguente restituisce ancora qualcosa di maledetto![dateFormatter setDateFormat: @ "yyyy-MM-dd'T'hh: mm: ssSSS"]; – jennas
Questo era per il mio codice, dovrai fare qualcosa di simile per il tuo codice. Di nuovo, controlla i documenti UNICODE. – tbone
È possibile controllare TouchTime.
https://github.com/jheising/TouchTime.
È una porta diretta della fantastica funzione strtotime in PHP in 5.4 per Cocoa e iOS. Prenderà praticamente qualsiasi formato arbitrario di stringa di data o ora e lo convertirà in un NSDate.
Spero che funzioni, e divertiti!
Prova a utilizzare questo progetto abilitato per cocoapods. Ci sono molte funzioni aggiunte che probabilmente saranno anche necessarie.
"Una categoria per estendere la classe NSDate di Cocoa con alcune funzioni di comodità."
https://github.com/billymeltdown/nsdate-helper
Ecco un esempio dalla loro pagina:
NSDate *date = [NSDate dateFromString:@"2009-03-01 12:15:23"];
Inoltre, per lo più ricerca ora per utilità su cocoapods. Ecco la query su NSDate. http://cocoapods.org/?q=NSDate –
controllo questo fuori: http://stackoverflow.com/questions/1353081/nsstring-to-nsdate – lms