sql >> Database >  >> RDS >> Mysql

datum tijd goed in app maar verkeerd in mysql [tijdzone]

Wat zijn soorten kolommen in MySQL? Ik vermoed dat het DATETIME is. Dit type slaat geen "moment in de tijd" op, het slaat "uur op de klok" op, dus kan een ander moment in verschillende tijdzones betekenen.

Wanneer het MySQL-stuurprogramma java.util.Date naar de DATETIME-kolom schrijft, moet het een tijdzone kiezen om "hour on clock" te schrijven, omdat dezelfde java.util.Date verschillende uren in verschillende tijdzones kan betekenen. Het slaat het uur op zoals in de lokale tijdzone van de MySQL-server.

LocalDateTime heeft dit probleem niet, omdat het lijkt op DATETIME. Het vertegenwoordigt het uur op een klok, niet het moment in de tijd, dus jaar/maand/dag-uur/minuut/seconde worden gewoon in de database opgeslagen. Kennisgeving in de slaapstandlog LocalDateTime wordt gegeven zoals het is, terwijl er een tijdzone ("CST") naast Datum staat.

Over het algemeen is het een goede gewoonte om tijd altijd in UTC op te slaan, dus gebruik DateTime, niet Date of LocalDateTime. DateTime met jadira-converter slaat/leest altijd DATETIME op als UTC.




  1. kan ik een alleen-lezen database openen vanuit de res/asset-map in Android zonder te kopiëren naar de databasemap?

  2. Hoe extensies voor oci8 (Oracle) in php.ini in te schakelen - PHP-waarschuwing:PHP Startup:in Unknown on line 0

  3. Express js req.body retourneert leeg

  4. Hoe kan ik mysql-tijd, de tijd en/of belasting van een sql-query in php meten?