sql >> Database teknologi >  >> RDS >> Mysql

Sådan konverteres MySQL datetime til NSDate?

Din formatstreng er tæt på, men du vil angive millisekunderne med SSS også:

[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSX"];

Også Z i din datostreng står for "Zulu" (dvs. GMT/UTC), så dit dateFormat skal bruge Z eller X uden anførselstegn, så den analyserer strengens tidszone korrekt. Hvis du bygger strenge fra datoer, skal du også sørge for at indstille din tidszone i overensstemmelse hermed. Du ønsker også at indstille din lokalitet:

NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.locale = enUSPOSIXLocale;
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSX";
formatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];

Se Teknisk spørgsmål og svar QA1480 for mere information.

Du kan også bruge den nyere NSISO8601DateFormatter , som får dig ud af noget af det ukrudt:

NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
formatter.formatOptions = NSISO8601DateFormatWithFullDate | NSISO8601DateFormatWithFullTime | NSISO8601DateFormatWithFractionalSeconds;



  1. Sådan vælger du poster fra sidste 24 timer ved hjælp af PostgreSQL

  2. Fjernforbindelser Mysql Ubuntu

  3. Bord med koordinater for et sekskantet gitter, der dækker verden

  4. Skift primær nøgle