Tengo esta cadena de fecha y hora vendredi 11 février 2022 à 20:19:56 heure normale d'Europe centrale almacenada en mi base de datos.
Ahora estoy tratando de convertirlo de nuevo a su equivalente en la fecha y hora UTC en inglés.
Para procesarlo, probé strtotime :
$datetime = 'vendredi 11 février 2022 à 20:19:56 heure normale d'Europe centrale'; $tsparis = strtotime($datetime . ' Europe/Paris'); var_dump($tsparis); Esto muestra bool(false) . ¿Cómo puedo analizar esta cadena de nuevo a una marca de tiempo?
Puede usar IntlDateFormatter para analizar fechas de cadenas y formatearlas en cadenas.
En este caso, pasar una configuración regional de 'fr_FR' y formatos de fecha y hora de "completo" debería ser suficiente:
$datetime = 'vendredi 11 février 2022 à 20:19:56 heure normale d'Europe centrale'; $parser = new IntlDateFormatter( 'fr_FR', IntlDateFormatter::FULL, IntlDateFormatter::FULL ); $tsparis = $parser->parse($datetime); var_dump($tsparis); Da int(1644607196) ; ver demostración en línea
Esto le brinda una marca de tiempo estándar de Unix, que puede procesar usando lo que quiera para generar una nueva salida.