Pregunta ¿Cómo obtener la fecha y hora actual en PHP?


¿Qué función de PHP puede devolver la fecha / hora actual?


678
2018-01-22 20:09


origen


Respuestas:


El tiempo pasaría por su tiempo de servidor. Una solución fácil para esto es configurar manualmente la zona horaria mediante el uso de date_default_timezone_set antes de date() o time() las funciones son llamadas a.

Estoy en Melbourne, Australia entonces tengo algo como esto:

date_default_timezone_set('Australia/Melbourne');

U otro ejemplo es LA - NOS:

date_default_timezone_set('America/Los_Angeles');

También puede ver en qué zona horaria se encuentra el servidor a través de:

date_default_timezone_get();

Entonces algo así como:

$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;

Entonces, la respuesta breve para su pregunta sería:

// Change the line below to your timezone!
date_default_timezone_set('Australia/Melbourne');
$date = date('m/d/Y h:i:s a', time());

Entonces, todas las veces serían para la zona horaria que acaba de establecer :)


532
2018-01-23 00:19



// Simply:
$date = date('Y-m-d H:i:s');

// Or:
$date = date('Y/m/d H:i:s');

// This would return the date in the following formats respectively:
$date = '2012-03-06 17:33:07';
// Or
$date = '2012/03/06 17:33:07';

/** 
 * This time is based on the default server time zone.
 * If you want the date in a different time zone,
 * say if you come from Nairobi, Kenya like I do, you can set
 * the time zone to Nairobi as shown below.
 */

date_default_timezone_set('Africa/Nairobi');

// Then call the date functions
$date = date('Y-m-d H:i:s');
// Or
$date = date('Y/m/d H:i:s');

// date_default_timezone_set() function is however
// supported by PHP version 5.1.0 or above.

Para una referencia de zona horaria, consulte Lista de zonas horarias admitidas.


382
2018-03-06 14:42



Desde PHP 5.2.0 puedes hacerlo usando OOP y DateTime() también (por supuesto si prefiere OOP):

$now = new DateTime();
echo $now->format('Y-m-d H:i:s');    // MySQL datetime format
echo $now->getTimestamp();           // Unix Timestamp -- Since PHP 5.3

Y para especificar el timezone:

$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London'));    // Another way
echo $now->getTimezone();

160
2018-05-29 12:44



Referencia: aquí está un enlace

Esto puede ser más confiable que simplemente sumar o restar la cantidad de segundos en un día o mes a una marca de tiempo debido al horario de verano.

El código PHP

// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)

76
2017-08-29 18:49



Puedes usar el $_SERVER['REQUEST_TIME'] variable (disponible desde PHP 5.1.0) o el time() función para obtener la marca de tiempo de Unix actual.


56
2018-01-22 20:11



PHP hora() devuelve una marca de tiempo actual de Unix. Con esto, puedes usar el fecha() función para formatearlo según sus necesidades.

$date = date('Format String', time());

Como mencionó Paolo en los comentarios, el segundo argumento es redundante. El siguiente fragmento es equivalente al anterior:

$date = date('Format String');

56
2018-01-22 20:13



PHP fecha la función puede hacer este trabajo

fecha()

Descripción:

string date ( string $format [, int $timestamp = time() ] )

Devuelve una cadena formateada de acuerdo con la cadena de formato dada usando la marca de tiempo entera dada o la hora actual si no se da la marca de tiempo.

Ejemplos:

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)

43
2018-04-17 11:43