strip_tags - php: convertir milisegundos hasta la fecha
strip_tags wordpress (4)
Acabo de agregar H: i: s como en el siguiente ejemplo:
$mil = 1227643821310;
$seconds = $mil / 1000;
echo date("d/m/Y H:i:s", $seconds);
Tengo una cadena que es igual a una fecha, representada como la cantidad de milisegundos desde la época de Unix.
Estoy tratando de enviarlo a dmY.
La cadena que me dieron fue "1227643821310", y me dijeron que el resultado debería ser igual al 2-12-2008 , pero sigo obteniendo el resultado del 25-11-2008.
Mi código es el siguiente:
$mil = 1227643821310;
$seconds = $mil / 1000;
echo date("d-m-Y", $seconds);
¿Alguna idea de por qué esto podría ser?
Jeff, lo importante para entender cuando se trata de marcas de tiempo: representan el tiempo que ha pasado de 0:00:00 01.01.1970 en GMT , no en tu zona horaria (a menos que seas tú mismo en GMT, por supuesto).
1227643821 de hecho representa la hora GMT de 20:10:21 25.11.2008.
Esto es el 25 de noviembre de 2008 en la mayor parte del mundo, sin embargo, en las zonas horarias al este de Moscú (y en la zona horaria de Moscú en verano debido al horario de verano) ya es el 26 de noviembre. Como la zona horaria más "extrema" es GMT + 14, no hay lugar en el mundo donde la marca de tiempo de 1227643821 pueda representar una fecha posterior al 26.
El autor del valor original puede haberse confundido de alguna manera al tratar con zonas horarias. O simplemente está equivocado. Por ejemplo, al calcular el valor, se agregan segundos en lugar de milisegundos en algún momento.
Lo único que se me ocurre es intentar redondear la parte decimal antes de convertirla en una fecha. Si eso no cambia el resultado, entonces el resultado es correcto.
Ya lo estás haciendo bien, 1227643821 simplemente no es 02-12-2008, de hecho es 25-11-2008.