Noté que strtotime()
maneja las marcas de tiempo Unix de una manera extraña, y tenía curiosidad si alguien sabe por qué es así:¿Por qué una indicación de fecha y hora de Unix necesita un prefijo '@' para strtotime() para entenderlo?
var_export(strtotime('1330725042')); // false
var_export(strtotime('@1330725042')); // 1330725042
¿Por qué strtotime()
retorno false
cuando se le da una marca de tiempo Unix (a menos que dicha marca de tiempo es prefijado por @
)?
Esto es desde el interior de un método de biblioteca que he creado que está destinado a "resolver" una variable de formato desconocido en una marca de tiempo. Usar un strtotime()
desnudo no es útil en este caso porque devuelve el resultado incorrecto cuando el valor entrante en realidad es una marca de tiempo.
He vuelto a trabajar el método de la biblioteca para hacer una comprobación explícita de un valor similar a la marca de tiempo y devolverlo sin modificar, por lo que hay ... diremos, ya no hay aplicación práctica para esta pregunta; Tengo curiosidad.
Porque la documentación lo dice :) http://www.php.net/manual/en/datetime.formats.compound.php No creo que un entero sea un formato válido de fecha/hora – Tchoupi
+1 para ese enlace Mathieu. Me imaginé que había documentos * en algún lado *. – Josh
Gracias. De hecho, no tenía idea de que una marca de tiempo de Unix podría ser un formato válido de DateTime de PHP. – Tchoupi