Search code examples
phpmysqldatetimelaravel-8php-carbon

MySQL timestamp throwing incorrect datetime value on one specific datetime


I have unix timestamps associated with data I am getting from an API. These timestamps are being converted to a datetime via Carbon. I found one specific datetime value that keeps throwing errors:

UPDATE `revive_logs` SET `revivee_last_action_at` = '2018-03-11 02:12:33' WHERE `revive_logs`.`id` = 5129189

Incorrect datetime value: '2018-03-11 02:12:33' for column 'revivee_last_action_at' at row 1

It makes no sense because if I switch the time for 2018-03-11 03:12:33 or 2018-03-11 01:12:33 it works fine. The error happens at that specific date, and hour only. If I change to other hours in that same day MySQL has no problem with it.

What am I doing wrong here? I cannot see anything incorrect about the datetime value. It's a valid date. Even phpMyAdmin lets me set this exact time in their date picker tool and it still throws the error there.


Solution

  • If the timezone is

    • Bermuda
    • Canada
    • Cuba
    • Greenland
    • Haiti
    • Mexico
    • Saint Pierre and Miquelon
    • The Bahamas
    • Turks and Caicos Islands
    • United States

    then it is the switch hour between Standard Time and Daylight Saving Time (DST).

    On 2018 it was scheduled to Sunday, 11 March 2018 to move clocks from 2 AM to 3 AM.

    So there was no time between 02:00:00 and 03:00:00.

    Source