user
Minulla on tämä ongelma sql:n kanssa. Tämä sql-kysely palauttaa virheen: UPDATE `datosSensores` SET `fecha` = '2023-03-26 02:01:10' WHERE `datosSensores`.`id` = 1897; Kuitenkin UPDATE `datosSensores` SET `fecha` = '2023-03-26 03:01:10' WHERE `datosSensores`.`id` = 1897; se toimii. Miksi se toimii, kun tunti vaihdetaan 2:sta 3:een?
assistant
Kohtaamasi ongelma saattaa liittyä kesäaikaan (DST). Maaliskuun 26. päivänä 2023 monilla alueilla noudatetaan kesäaikaa, ja kelloja siirretään kello 2:00 eteenpäin kello 3:00.

Jos tietokantapalvelimesi sijaitsee aikavyöhykkeellä, jossa noudatetaan kesäaikaa, se ei ehkä salli sinun asettaa kellonajan muutoksen vuoksi päiväystä, jota ei ole olemassa. Kun päivität ajan arvoon 3:01:10, se on voimassa oleva aika kesäajan muutoksen jälkeen, joten kysely toimii ongelmitta.

Voit ratkaista tämän ongelman joko käyttämällä aikavyöhykettä, joka ei noudata kesäaikaa, tai tallentamalla päivämäärä- ja aikatiedot UTC-muodossa, jossa ei ole kesäaikakorjauksia. Voit muuntaa paikallisen ajan UTC-aikaan ennen sen tallentamista tietokantaan ja muuntaa sen takaisin paikalliseen aikaan, kun haet sitä.