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í:
- Convierta un formato de fecha en otro en PHP 12 respuestas
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