Je veux récupérer la date et l'heure du serveur et selon cela faire quelque chose. Pour cela, j'ai utilisé le code suivant:
$info = getdate();
$date = $info['mday'];
$month = $info['mon'];
$year = $info['year'];
$hour = $info['hours'];
$min = $info['minutes'];
$sec = $info['seconds'];
$current_date = "$date/$month/$year == $hour:$min:$sec";
Ce code renvoie la date correcte mais le problème est que ce que je vois dans mon cpanel (heure du serveur) est différent. que ce que je reçois du code. Dans cpanel, le temps est CDT tandis que le code montre UTC que je reconfirme en utilisant le code suivant
<?php echo date("r == e"); ?>
Pourquoi cela se produit et quels changements je dois faire dans mon code afin que je puisse obtenir l'heure du serveur approprié.
Vous devez définir le fuseau horaire sur celui des fuseaux horaires que vous souhaitez.
// set default timezone
date_default_timezone_set('America/Chicago'); // CDT
$info = getdate();
$date = $info['mday'];
$month = $info['mon'];
$year = $info['year'];
$hour = $info['hours'];
$min = $info['minutes'];
$sec = $info['seconds'];
$current_date = "$date/$month/$year == $hour:$min:$sec";
Ou une version beaucoup plus courte:
// set default timezone
date_default_timezone_set('America/Chicago'); // CDT
$current_date = date('d/m/Y == H:i:s');
Essaye ça -
<?php
date_default_timezone_set('Asia/Kolkata');
$timestamp = time();
$date_time = date("d-m-Y (D) H:i:s", $timestamp);
echo "Current date and local time on this server is $date_time";
?>
Non besoin d'utiliser date_default_timezone_set
pour tout le script, spécifiez simplement le timezone
que vous voulez avec un objet DateTime:
$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London')); // Another way
echo $now->format("Y-m-d\TH:i:sO"); // something like "2015-02-11T06:16:47+0100" (ISO 8601)
Vous devez définir le fuseau horaire, cf http://www.php.net/manual/en/book.datetime.php
Pour activer PHP Extension intl, suivez les étapes ..
Vous pouvez utiliser la fonction "system (string $ command [ int & $ return_var]): string". Pour le système Windows ("time") ;, system ("time> output.txt"); pour placer la réponse dans le fichier output.txt. Si vous prévoyez de déployer votre site Web sur le serveur de quelqu'un d'autre, vous ne voudrez peut-être pas coder en dur l'heure du serveur, car le serveur peut se déplacer vers un fuseau horaire inconnu. Ensuite, il peut être préférable de définir le fuseau horaire par défaut dans le fichier php.ini. J'utilise Hostinger et ils vous permettent de configurer cette valeur php.ini.
Vous devez définir le fuseau horaire sur celui des fuseaux horaires que vous souhaitez. laissez définir le fuseau horaire indien
// set default timezone
date_default_timezone_set('Asia/Kolkata');
$info = getdate();
$date = $info['mday'];
$month = $info['mon'];
$year = $info['year'];
$hour = $info['hours'];
$min = $info['minutes'];
$sec = $info['seconds'];
$current_date = "$date/$month/$year == $hour:$min:$sec";