Dziwny problem z echo date(); w WP

Zauważyłem, że coś jest nie tak z funkcją date(); z php. Wyświetlała 2 godziny wstecz, zamiast wyświetlać obecną godzinę. Potrzebowałem to rozwiązanie niezmiernie przy „rotacji” szablonów – nocnego i dziennego, a różnica 2h w sumie była do obejścia, ale była nieco problematyczna.

Kombinowałem na różne sposoby, próbowałem pobrać datę z WordPressa – bezskutecznie.

<?php echo the_time('H'); ?>

Zwracało wynik całkowicie niepożądany – godzinę publikacji ostatniego wpisu.

<?php echo date('H'); ?>

Wyświetlało godzinę 14 zamiast 16. Cóż począć. Support linuxpl.com zasugerował mi dodanie linii przed zmienną (to co jest wyżej, to tylko wycinek kodu, który mam; w swoim skrypcie mam zmienną, jedną):

putenv('TZ=Europe/Warsaw');

Ale też nie pomogło, dopiero:

current_time('mysql');

Przed zmienną załatwiło sprawę. Więc jeśli ktoś też będzie miał taki problem – jest rozwiązanie ;).


Komentarze

2 odpowiedzi na „Dziwny problem z echo date(); w WP”

  1. Przeciez funkcja date() zwraca czas z serwera. Jesli wystepuja zatem dwie godziny roznicy, znaczy to, iz na serwerze jest bledna data badz Twoj hosting jest z innej strefy czasowej…

    1. Problem jest właśnie w tym, że funkcja wykonana wewnątrz skryptu wyświetla godzinę-2, a na zewnątrz – poprawną. Więc to nie jest wina hostingu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *