2011-07-08 34 views
17

Quiero recuperar la fecha y la hora del servidor y de acuerdo con algo. Para ello he utilizado siguiente código:Cómo obtener la fecha y la hora del servidor

$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"; 

Este código devuelve la fecha correcta, pero problema es que lo que veo en mi cpanel (hora del servidor) es dif. de lo que obtengo del código. Con el tiempo cpanel es CDT, mientras que a partir del código que está mostrando UTC la que reconfirmar el uso siguiente código

<?php echo date("r == e"); ?> 

por qué ocurre esto y qué cambios que tengo que hacer en mi código para que pueda obtener el tiempo correcto del servidor.

Respuesta

46

Debe set the timezone a la una de la timezones que desee.

// 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"; 

o una versión mucho más corta:

// set default timezone 
date_default_timezone_set('America/Chicago'); // CDT 

$current_date = date('d/m/Y == H:i:s'); 
+0

Cómo mostrarlo con recuento en tiempo real ... –

2

Sin necesidad de utilizar date_default_timezone_set para toda la secuencia de comandos, basta con especificar el timezone que quiera con un objeto 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) 
5

Pruebe esto -

<?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"; 
?> 
+0

AFAIK $ date_time tiene que estar fuera de la cadena? – user7185318

+0

Puede escribir la variable php entre comillas dobles y obtendrá los resultados adecuados, pero si utiliza entre comillas simples, el resultado será el mismo nombre de variable. –

0

Para habilitar Intl PHP extensión, siga los pasos ..

  1. Abrir el archivo xampp/php/php.ini en cualquier editor.
  2. Buscar "; extension = php_intl.dll"
  3. amablemente eliminar el punto y coma inicial (;) Como:; extension = php_intl.dll. a. extension = php_intl.dll.
  4. Guarde el archivo xampp/php/php.ini.
  5. Reinicia tu xampp/wamp.
Cuestiones relacionadas