25. maj 2018 - 10:00Der er
8 kommentarer og 1 løsning
PHP mysqli time_zone
Har server+DB ved Gigahost. De siger at alt kører i UTC.
Jeg har i en simpel tabel lagt en dato ind med værdien 2018-05-25 09:16:00. Hvis denne er UTC forventer jeg at datoen er 2018-05-25 11:16:00 i Danmark.
Jeg korrigerer for de 2 timer, når jeg connecter, men jeg bliver ved med at få slynget 09:16:00 i hovedet.
// Connect og sæt time zone date_default_timezone_set('Europe/Copenhagen'); $link = mysqli_connect($server,$user,$pw,$db); mysqli_query($link,"SET time_zone = '+02:00';");
if (!$link) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); }
$sql_i = "SELECT unix_timestamp(now()) as dt, playtime from game_events where event_id = 1"; // I DB er datoen sat til 2018-05-25 09:16:00 $sql = mysqli_query($link,$sql_i);
Each client that connects has its own time zone setting, given by the session time_zone variable. Initially, the session variable takes its value from the global time_zone variable, but the client can change its own time zone with this statement:
Smysql> SET time_zone = timezone;
Det er vel også det jeg gør her: mysqli_query($link,"SET time_zone = '+02:00';");
OK. Det var egentlig bare at ændre datatypen fra datetime til timestamp i de berørte tabeller. Herefter skulle jeg lige justere alle datoer med en date_sub(playtime, interval 2 hour) og endeligt selvfølgelig implementere:
Godt du fandt ud af det - og så lærte jeg også noget
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.