Wpis z mikrobloga

#mysql ma minimalną wartość dla TIMESTAMP '1970-01-01 00:00:01'. Wpisuję w INSERT ale wywala błąd, że niepoprawna wartość. Ale no tak, UTC+2 bo czas serwera w PL, czyli trzeba odjąć dwie godziny... a więc '1969-12-31 22:00:01'. Błąd ten sam. Dlaczego? ;c
  • 17
@Wrath_of_the_Tyrant: no ale jaką masz timezone na serwerze? Bo z tego co wiem to wygląda to tak, że jak podajesz w INSERCIE to czas serwera jest tłumaczony na UTC więc jeżeli wiesz, że twój serwer ma +02:00, a chcesz podać konkretną wartość UTC to musisz podać -02:00, a więc 1969 zostanie przetłumaczone na 1970 w tym wypadku... czy nie?
@Wrath_of_the_Tyrant:

TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.

UTC. Czyli range dla różnych timezones jest różny. Przesunięty. Po prostu przesunąłem w złą stronę, bo '1970-01-01 02:00:01' działa, a '1970-01-01 02:00:00' już nie. xD
@Wrath_of_the_Tyrant: ale nie wiem dlaczego u ciebie działa... możliwe, że masz jakiś strict mode czy coś, nie wiem, nie znam się, że masz dostęp bezpośredni do wartości kolumny TIMESTAMP, a nie do tego jak normalnie to powinno działać:

MySQL converts TIMESTAMP values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such as