Wartość strefy czasowej jest ważna dla każdej strony internetowej, ponieważ wartości daty i godziny są wyświetlane na podstawie tej wartości. Skrypt PHP domyślnie wykorzystuje wartość strefy czasowej serwera WWW. Tę wartość strefy czasowej można zmienić, modyfikując wartość data.strefa czasowa dyrektywa w php.ini plik konfiguracyjny lub dodając wpis dla wartości strefy czasowej wewnątrz .Htaccess plik lub za pomocą kilku wbudowanych funkcji. W tym samouczku pokazano różne sposoby ustawiania wartości strefy czasowej w PHP.
Ustaw wartość strefy czasowej, modyfikując PHP.plik INI
Jednym z najłatwiejszych sposobów ustawienia domyślnej strefy czasowej jest modyfikacja data.strefa czasowa dyrektywa wewnątrz php.ini plik. Załóżmy, że chcesz ustawić domyślną strefę czasową „Azja/Dhaka”. Otworzyć php.ini złożyć i wyszukaj lokalizację data.strefa czasowa dyrektywa. Zmodyfikuj linię za pomocą następującej linii:
data.TimeZone = „Asia/Dhaka”
Zapisz plik i uruchom ponownie serwer WWW, aby ustawić datę i godzinę serwera na podstawie zmodyfikowanej wartości strefy czasowej.
Ustaw wartość strefy czasowej, modyfikując .plik Htaccess
Modyfikowanie .plik HTACCESS to kolejny sposób ustawienia domyślnej wartości strefy czasowej. Otworzyć .plik htaccess i dodaj następujący wiersz, aby ustawić domyślną wartość strefy czasowej na „Azja/Dhaka”:
Data wartości php_.Time Zone „Australia/Melbourne”
Zapisz plik i uruchom ponownie serwer WWW, aby ustawić datę i godzinę serwera na podstawie zmodyfikowanej wartości strefy czasowej.
Ustaw wartość strefy czasowej za pomocą funkcji DATE_DEFAULT_TIMEZONE_SET ()
DATE_DEFAULT_TIMEZONE_SET () to wbudowana funkcja PHP, aby ustawić wartość strefy czasowej. Wyjście wszystkich wbudowanych funkcji PHP związanych z domyślną strefą czasową zostanie zmieniona po zmianie wartości strefy czasowej za pomocą funkcji date_default_timezone_set (). Składnia tej funkcji podano poniżej:
Składnia
bool date_default_timezone_set (String TimeZone)
Ta funkcja ma tylko jeden obowiązkowy argument. Ten argument określa określoną strefę czasową. Zwraca prawdę, jeśli prawidłowa wartość strefy czasowej jest przekazywana w argumencie. W przeciwnym razie zwraca fałsz. Funkcja DATE_DEFAULT_TIMEZONE_GET () jest używana do odczytania bieżącej wartości strefy czasowej serwera. Tak więc tę funkcję można użyć do sprawdzenia strefy czasowej jest ustawiana prawidłowo po ustawieniu nowej strefy czasowej za pomocą funkcji date_default_timezone_set ().
Przykład 1: Ustaw stref czasu za pomocą funkcji date_default_timezone_set ()
Utwórz plik PHP z następującym skryptem, aby ustawić domyślną strefę czasową na „Asia/dhaka” za pomocą funkcji date_default_timezone_set (). Funkcja DATE_DEFAULT_TIMEZONE_GET () została użyta dwa razy do wydrukowania wartości strefy czasowej przed i po użyciu funkcji DATE_DEFAULT_TIMEZONE_SET ().
// Wydrukuj aktualną stref czasową
echo „Obecna strefa czasowa to " . date_default_timezone_get () . "
";
// Zmień obecną strefę czasową
date_default_timezone_set ('Asia/dhaka');
// Wydrukuj zmienioną strefę czasową
echo „Obecna strefa czasowa jest zmieniana na ". date_default_timezone_get () . "";
?>
Poniższe dane wyjściowe pokazuje, że domyślna strefa czasowa była UTC, a strefa czasowa zmieniła się na Azja/Dhaka Po ustawieniu nowej strefy czasowej:
Ustaw wartość strefy czasowej za pomocą funkcji INI_SET ()
INI_SET () jest bardzo przydatną funkcją PHP do modyfikacji dowolnej dyrektywy PHP za pomocą skryptu bez dostępu do PHP.plik INI. W tym samouczku omówiono wcześniej, że „data.Dyrektywa strefy czasowej wymagana do zmiany w celu zmiany bieżącej wartości strefy czasowej. Tak więc funkcja INI_SET () może być użyta do zmiany tej wartości dyrektywy. Składnia tej funkcji podano poniżej:
Składnia
String | false ini_set (String $ opcja, String | int | float | bool | null $ value)
Pierwszy argument funkcji przyjmuje nazwę dyrektywy, a drugi argument funkcji bierze wartość. Zwraca wartość ciągu sukcesu i fałsz na temat porażki.
Przykład 2: Ustaw stref czasu za pomocą funkcji INI_SET ()
Utwórz plik PHP z następującym skryptem, który ustawi domyślną strefę czasową na „America/Chicago” za pomocą funkcji INI_SET (). Funkcja date_default_timezone_get () została użyta dwa razy do wydrukowania wartości strefy czasowej przed i po użyciu funkcji INI_SET ().
// Wydrukuj aktualną stref czasową
echo „Obecna strefa czasowa to " . date_default_timezone_get () . "
";
// Zmień obecną strefę czasową
ini_set („data.TimeZone ”,„ Ameryka/Chicago ”);
// Wydrukuj zmienioną strefę czasową
echo „Obecna strefa czasowa jest zmieniana na ". date_default_timezone_get () . "";
?>
Poniższe dane wyjściowe pokazuje, że domyślna strefa czasowa była UTC, a strefa czasowa zmieniła się na „Ameryka/Chicago” Po ustawieniu nowej strefy czasowej:
Ustaw wartość strefy czasowej za pomocą klasy DateTimeZone
Korzystanie z klasy DateTimeZone to kolejny sposób na zmianę domyślnej wartości strefy czasowej serwera. Zastosowania tej klasy do zmiany strefy czasowej zostały pokazane w poniższym przykładzie:
Przykład 3: Ustaw stref czasu za pomocą klasy DateTimeZone
Utwórz plik PHP z następującym skryptem, który dwa razy zmieni wartość strefy czasowej i wydrukuj bieżącą datę i godzinę na podstawie bieżącej wartości strefy czasowej. Funkcja display () została zdefiniowana w skrypcie, aby wydrukować bieżącą wartość strefy czasowej oraz bieżącą datę i godzinę na podstawie strefy czasowej. Po raz pierwszy został wezwany do pokazania danych wyjściowych na podstawie domyślnej strefy czasowej, która jest 'UTC '. Został nazywany po raz drugi, aby pokazać wyjście na podstawie zmienionej strefy czasowej, „Azja/Dhaka”. Został nazywany trzecim razem, aby pokazać wyjście na podstawie zmienionej strefy czasowej, czyli „Kanada/Atlantyk”.
// Utwórz obiekt daty
$ date = new DateTime ();
Wyświetlacz funkcji ()
Global $ data;
$ timeZone = $ date-> getTimeZone ();
// Wydrukuj aktualną strefę czasową i datetime w oparciu o stref czasu
echo „Obecna strefa czasowa to " . $ timeZone-> getName ()."
";
echo „Obecna data i godzina” . $ data-> format ('d-m-y h: i: s') . "
";
// Funkcja połączenia, aby wydrukować wyjście na podstawie domyślnej strefy czasowej
wyświetlacz();
// Zmień strefę czasową na „Azja/Dhaka”
$ date-> settimezone (nowy dataTimezone („Asia/dhaka”));
// Funkcja połączeń do wydrukowania danych wyjściowych na podstawie zmienionej strefy czasowej
wyświetlacz();
// Zmień strefę czasową na „Kanada/Atlantyk”
$ data-> settimezone (nowy dataTimezone („Canada/Atlantic”));
// Funkcja połączeń do wydrukowania danych wyjściowych na podstawie zmienionej strefy czasowej
wyświetlacz();
?>
Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu:
Wniosek
W tym samouczku pokazano pięć różnych sposobów zmiany wartości strefy czasowej. Jeśli użytkownik PHP nie ma zgody na zmianę PHP.ini lub .plik htaccess, wówczas użytkownik może użyć dowolnej wbudowanej funkcji omówionych w tym samouczku, aby zmienić wartość strefy czasowej.