PHP Convertir la cadena a DateTime

PHP Convertir la cadena a DateTime
Este artículo le enseñará cómo convertir una cadena simple a un formato de fecha utilizando varios métodos y técnicas de PHP.

Los basicos

Para convertir una cadena hasta la fecha, usaremos dos funciones: strTotime () y las funciones de fecha (). También podemos usar el método DateTeTime :: CreateFromFormat.

Comenzaremos con la combinación de funciones strTotime () y date ().

Función php strtotime ()

El método PHP strTotime () le permite convertir un formato de tiempo legible para humanos en tiempo unix.

El tiempo de Unix se refiere al número de segundos transcurridos desde el 1/1/1970 00:00:00.

La función toma una sintaxis como se muestra a continuación:

strTotime (cadena $ DateTime)

La función toma la marca de tiempo como argumento y devuelve la fecha como entero si la conversión es exitosa. La función también devuelve un falso booleano en el fracaso.

NOTA: La función interpretará varios formatos de manera diferente. Por ejemplo, si usa el separador como corte, el método asumirá el formato de fecha y hora estadounidense como M/D/Y. Sin embargo, si el separador es un (-), se usa el formato europeo (D-M-Y).

Para mantenerse en el lado seguro, use el formato ISO 8601 (A yyyy-MM-DD).

Obtenga más información sobre los formatos de fecha y hora de PHP en el recurso que se proporciona a continuación:

https: // www.php.net/manual/en/dateTime.formatos.php

Eche un vistazo a los siguientes ejemplos que muestran cómo usar la función strtotime ().

echo strtotime ("ahora"), "\ n"; // <-- convert time now to unix
echo strtotime ("el próximo viernes"), "\ n";
echo strtotime ("+7 semanas"), "\ n";
echo strtotime ("2022-06-06"), "\ n";
echo strtotime ("+10 horas"), "\ n";
?>

Los ejemplos anteriores convierten varias cadenas a sus marcas de tiempo Unix relevantes.

Función Php Date ()

La siguiente función que veremos es la función date (). Esta función toma una marca de tiempo de Unix y la convierte en un formato local de fecha y hora. La sintaxis de la función se puede expresar como:

fecha (formato, marca de tiempo);

Acepta un formato de fecha y hora y una marca de tiempo. Una vez formateada, la función devuelve la fecha y la hora formateada en consecuencia.

Por ejemplo, convencemos una marca de tiempo específica a una fecha y hora.

Fecha de eco ("D/M/Y H: I: S", 1638092852), "\ n";
?>

En el ejemplo anterior, usamos el formato de fecha para convertir una marca de tiempo de UNIX específica hasta la fecha/mes/año Horas: Formato de minutos de segundos.

Ejecute el código anterior y debe obtener una salida como se muestra a continuación:

$ php date_format.php
28/nov/2021 11:47:32

Combinando strtotime () y date ()

Para convertir una cadena específica hasta la fecha y el formato de hora, podemos combinar la función y la fecha strTotime () como ya hemos visto.

Considere el ejemplo que se muestra a continuación:

$ timestamp = strtotime ("+10 horas");
Fecha de eco ("D/M/Y H: I: S", $ Timestamp), "\ n";
?>

El siguiente ejemplo usa la función strTotime () para convertir una cadena específica en una marca de tiempo de Unix.

Luego usamos la función de fecha para convertir la marca de tiempo en un formato de fecha y hora específicos.

Método 2 - Use DateTime :: CreateFromFormat ()

El otro método que podemos usar para crear una fecha y hora desde una cadena es el Datetime :: CreateFromFormat (). Esta es una función PHP incorporada disponible en PHP 5.2 y superior. Devuelve un objeto de fecha y hora que representa la fecha y la hora en un formato especificado.

El ejemplo a continuación muestra cómo usarlo.

$ dateNew = DateTime :: CreateFromFormat ("Y-M-D", "2022-06-06");
echo $ dateNew-> format ("y-m-d"), "\ n";
?>

El código anterior debe devolver la fecha.

Conclusión

Esta guía le enseñó cómo convertir una cadena específica a un formato de fecha y hora utilizando métodos PHP incorporados.

Gracias por leer!