Holen Sie sich die Serverzeitzone in PHP

Lesezeit: 2 Minuten

Mein Client benötigt einen Systembericht, in dem sein Plugin Serverdetails ausführt. Dies bedeutet, dass ich die SERVER-Zeitzone abrufen muss. Arbeiten mit WordPress. Versucht, aber das funktioniert nicht auf jedem Server.

$date = new DateTime();
$date->setTimezone(new DateTimeZone(ini_get('date.timezone')));

Dies führt bei einigen Servern zu einem schwerwiegenden Fehler. Haben Sie eine allgemeine Funktion zum Abrufen der Serverzeitzone?
Alle Vorschläge werden sehr geschätzt.

  • Überprüfen Sie zuerst Ihre PHP-Version.

    – Ali

    25. Mai 2016 um 7:03 Uhr

  • Dann müssen Sie die PHP-Version des Kunden mit php_info() überprüfen.

    – Ali

    25. Mai 2016 um 8:35 Uhr

Benutzer-Avatar
James

Versuche dies:

$date = new DateTime();
$timeZone = $date->getTimezone();
echo $timeZone->getName();

Bitte beachten Sie folgenden Link
https://www.w3schools.com/php/func_date_default_timezone_get.asp

    <?php
      echo date_default_timezone_get();
    ?> 

Die Funktion date_default_timezone_get() gibt die Standardzeitzone zurück, die von allen Datums-/Uhrzeitfunktionen im Skript verwendet wird.

  • das gibt mir UTC. Aber UTC ist ein Zeitstandard, keine Zeitzone

    – Darksymphonie

    2. Januar 2021 um 22:36 Uhr

  • Es gibt das nicht zurück ‘Ursprünglich’ Zeitzone. Es gibt die zurück ‘aktueller Standard’ Zeitzone. Wenn Sie oder jemand anderes in Ihrem Code-Stream die Zeitzone von der Systemzeitzone entfernt eingestellt hat, erhalten Sie diese. code php > echo date_default_timezone_get(); Pacific/Auckland php > date_default_timezone_set(‘UTC’); php > echo date_default_timezone_get(); UTC-php > code

    – Lummo

    20. September 2021 um 3:37 Uhr


  • Um dem Fehler auszuweichen, den diese Funktion liefert, platzieren Sie @ vor dem Funktionsnamen … so date_default_timezone_set(@date_default_timezone_get());

    – Staubwolf

    9. November 2021 um 10:59 Uhr

<?php 
date_default_timezone_set();
if (date_default_timezone_get()) 
{
    echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}
if (ini_get('date.timezone')) 
{
    echo 'date.timezone: ' . ini_get('date.timezone');
}?>

Dieser Code wird Ihnen helfen.

  • date_default_timezone_set() Schluckauf ein Fehler, scheint dies einen Parameter zu benötigen. derzeit nicht gegeben.

    – Disapamok

    25. Mai 2016 um 7:20 Uhr

Holen Sie sich Hilfe von Python. Sie können mit Python einen Zeitzonenversatz des Servers erhalten.

from time import gmtime, strftime
print strftime("%z", gmtime())

Führen Sie den Python-Code in PHP mit exec aus

$tz_offset = exec("python tz.py");

1055850cookie-checkHolen Sie sich die Serverzeitzone in PHP

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy