year new hora php datetime utc

new - obtener tiempo UTC en PHP



timezone utc php (10)

¿Cómo puedo obtener el sello de hora UTC / GMT +/- usando la función de fecha de PHP ()? Por ejemplo, si intento

date("Y-m-d H:i:s", time());

Voy a obtener la marca de tiempo de Unix; pero necesito obtener la marca de tiempo UTC / GMT con la cadena GMT / UTC +/- 0400 o GMT / UTC +/- 1000 en función de los tiempos locales.


con la cadena GMT / UTC +/- 0400 o GMT / UTC +/- 1000 según los tiempos locales

Su format personalizado es simplemente O falta para darle los desplazamientos de la zona horaria de la hora local.

Diferencia con la hora de Greenwich (GMT) en horas Ejemplo: +0200

date_default_timezone_set(''America/La_Paz''); echo date(''Y-m-d H:i:s O'');

2018-01-12 12:10:11 -0400

Sin embargo, para maximizar la portabilidad / interoperabilidad, recomendaría usar el formato de fecha ISO8601 c

date_default_timezone_set(''America/La_Paz''); echo date(''c'');

2018-01-12T12: 10: 11-04: 00

date_default_timezone_set(''Australia/Brisbane''); echo date(''c'');

2018-01-13T02: 10: 11 + 10: 00

También puede usar gmdate y la cadena de desplazamiento de la zona horaria siempre será +00:00

date_default_timezone_set(''America/La_Paz''); echo gmdate(''c'');

2018-01-12T16: 10: 11 + 00: 00

date_default_timezone_set(''Australia/Brisbane''); echo gmdate(''c'');

2018-01-12T16: 10: 11 + 00: 00


Además de llamar a gmdate , también puedes poner este código antes del resto del código:

<?php date_default_timezone_set("UTC"); ?>

Eso hará que el resto de sus llamadas relacionadas con la fecha / hora utilicen la zona horaria GMT / UTC.


Como se respondió anteriormente aquí , desde PHP 5.2.0 puede usar la clase DateTime y especificar la zona horaria UTC con una instancia de DateTimeZone .

La documentación DateTime __construct () sugiere pasar "ahora" como primer parámetro al crear una instancia de DateTime y especificar una zona horaria para obtener la hora actual.

$date_utc = new /DateTime("now", new /DateTimeZone("UTC")); echo $date_utc->format(/DateTime::RFC850); # Saturday, 18-Apr-15 03:23:46 UTC


Puede usar following para obtener la hora UTC:

date_default_timezone_set(''Asia/Calcutta''); $current_date = date("Y/m/d g:i A"); $ist_date = DateTime::createFromFormat( ''"Y/m/d g:i A"'', $current_date, new DateTimeZone(''Asia/Calcutta'') ); $utc_date = clone $ist_date; $utc_date->setTimeZone(new DateTimeZone(''UTC'')); echo ''UTC: '' . $utc_date->format(''Y-m-d g:i A'');


Puede usar la función gmmktime sin argumentos para obtener la marca de tiempo UTC actual:

$time = gmmktime(); echo date("Y-m-d H:i:s", $time);

gmmktime solo funcionará si su hora del servidor usa UTC. Por ejemplo, mi servidor está configurado en US / Pacific. la función enumerada arriba echos atrás hora del Pacífico.


Un simple gmdate será suficiente

<?php print gmdate("Y-m-d/TH:i:s/Z");


Usar gmdate siempre devolverá una fecha GMT. La sintaxis es la misma que para la date .


$time = time(); $check = $time+date("Z",$time); echo strftime("%B %d, %Y @ %H:%M:%S UTC", $check);


/** * Converts a local Unix timestamp to GMT * * @param int Unix timestamp * @return int */ function local_to_gmt($time = '''') { if ($time === '''') { $time = time(); } return mktime( gmdate(''G'', $time), gmdate(''i'', $time), gmdate(''s'', $time), gmdate(''n'', $time), gmdate(''j'', $time), gmdate(''Y'', $time) ); }


date("Y-m-d H:i:s", time() - date("Z"))