![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 27.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Czas serwera mysql to GMT, chcialbym ustawic jakos GMT+1 ustawiajac np SET time_zone = '+01:00'; date_default_timezone_set('Europe/Berlin'); niestety nic sie nie zmienia w tabeli mam taki rekord, do ktorego jest zapisywany czas GMT `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, Moze da sie dodac do tego INTERVAL ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
SET time_zone ustawia strefę czasową dla aktywnej sesji, nie dla serwera.
Żeby sprawdzić strefę czasową serwera wydaj polecenie
Co pokazuje? "SYSTEM"? Takie jest domyślne ustawienie - strefa czasowa serwera MySQL taka sama jak strefa czasowa systemu operacyjnego. Można to zmienić albo edytując plik konfiguracji my.cnf dodając do niego (w sekcji [mysqld]) taką linię: Kod default-time-zone = '+01:00' albo z wiersza poleceń, komendą:
(przy czym to się chyba nie zachowa po restarcie serwera MySQL) albo jako opcję procesu w trakcie uruchamiania: Kod --default-time-zone='+01:00' Więcej informacji: MySQL Server Time Zone Support. Nie polecałbym Ci dodawania interwałów do znaczników czasu podczas uaktualniania czy dodawania rekordów. To może naruszyć spójność całej bazy danych: w jednym miejscu dodasz, w innym nie i się dziwne anomalie pojawią. Wpisując i uaktualniając daty najlepiej używać funkcji NOW() - wtedy całość jest spójna. A jeśli chcesz uwzględniać strefę czasową użytkowników aplikacji to dodajesz offsety (czy to w komendach MySQL czy z poziomu PHP) dopiero wyświetlając im daty. Ten post edytował bostaf 30.12.2013, 11:45:31 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.04.2025 - 07:58 |