formato fecha español convertir php date timestamp strtotime

php - español - Conversión de fecha(con milisegundos) en la marca de tiempo



php date to milliseconds (3)

Esta pregunta ya tiene una respuesta aquí:

Tengo formato de fecha como ''25 May 2016 10:45:53:567''.

Quiero convertir a la marca de tiempo.

la función strtotime vuelve vacía.

$date = ''25 May 2016 10:45:53:567''; echo strtotime($date); // returns empty

Cuando eliminé los milisegundos, está funcionando.

$date = ''25 May 2016 10:45:53''; echo strtotime($date); // returns 1464153353

Por favor, resuelve mi problema. Gracias por adelantado.


Split string:

$date = ''25 May 2016 10:45:53:001''; preg_match(''/^(.+):(/d+)$/i'', $date, $matches); echo ''timestamp: '' . strtotime($matches[1]) . PHP_EOL; echo ''milliseconds: '' . $matches[2] . PHP_EOL; // timestamp: 1464162353 // milliseconds: 001


Use DateTime :

$date = DateTime::createFromFormat(''d M Y H:i:s:u'', ''25 May 2016 10:45:53:000''); echo $date->getTimestamp(); // 1464165953 // With microseconds echo $date->getTimestamp().''.''.$date->format(''u''); // 1464165953.000000


Use Datetime en lugar de date y strtotime.

//using date and strtotime $date = ''25 May 2016 10:45:53:000''; echo "Using date and strtotime: ".date("Y-m-d H:i:s.u", strtotime($date)); echo "/n";/ //using DateTime $date = new DateTime(); $date->createFromFormat(''d M Y H:i:s.u'', ''25 May 2016 10:45:53:000''); echo "Using DateTime: ".$date->format("Y-m-d H:i:s.u"); // since you want timestamp echo $date->getTimestamp(); // Output // Using date and strtotime: 1969-12-31 16:00:00.000000 // Using DateTime: 2016-05-28 03:25:22.000000

Ejemplo