sql >> Databáze >  >> RDS >> Mysql

Jak převést MySQL datetime na NSDate?

Váš formátovací řetězec je blízko, ale chcete zadat milisekundy pomocí SSS , také:

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

Také Z ve vašem datovém řetězci znamená „Zulu“ (tj. GMT/UTC), takže váš dateFormat by měl používat Z nebo X bez uvozovek, aby správně analyzoval časové pásmo řetězce. Pokud také vytváříte řetězce z dat, nezapomeňte podle toho nastavit časové pásmo. Chcete také nastavit své národní prostředí:

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

Viz Technické otázky a odpovědi QA1480 pro více informací.

Můžete také použít novější NSISO8601DateFormatter , který vás dostane z některých těch plevelů:

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



  1. Rozdíl mezi PDO->query() a PDO->exec()

  2. Převeďte datum z rrrr-mm-dd na dd název_měsíce rok

  3. Volání nedefinované funkce oci_connect, php_oci8_12c.dll, windows 8.1, php5.6.6

  4. Migrace z MSSQL na PostgreSQL - Co byste měli vědět