Saltar al contenido

date_interval_create_from_date_string()

¿Qué es date_interval_create_from_date_string()?

La función date_interval_create_from_date_string() es una función integrada de PHP que crea un nuevo objeto DateInterval basado en una representación en cadena del intervalo. Acepta un único parámetro de cadena.

Nota: Esta función fue marcada como obsoleta en PHP 8.2 y está programada para ser eliminada en una versión futura.

¿Cómo funciona?

La función analiza la cadena proporcionada utilizando strtotime(). Los formatos comunes incluyen cadenas de tiempo relativo como '+1 day', '1 week' o '2 hours 30 minutes'.

Devuelve un objeto DateInterval en caso de éxito, o false si la cadena no se puede analizar.

Manejo de errores: Siempre verifica el valor de retorno antes de usar el objeto. Para PHP moderno, se recomienda usar el constructor DateInterval directamente como una alternativa confiable.

A continuación se muestra un ejemplo de cómo usar la función:

Uso básico

php
<?php

$interval = date_interval_create_from_date_string('1 day');

En este ejemplo, estamos creando un nuevo objeto DateInterval que representa un intervalo de un día.

Ejemplos

Veamos algunos ejemplos de cómo usar la función.

Ejemplo 1: Agregar un intervalo a una fecha

Este ejemplo crea un intervalo de un día y lo agrega a un objeto DateTime:

Agregar un intervalo a una fecha en PHP

php
<?php

$date = new DateTime('2023-03-03');
$interval = date_interval_create_from_date_string('1 day');
$date->add($interval);
echo $date->format('Y-m-d');

La salida de este código será:


console
2023-03-04

Ejemplo 2: Formatear un intervalo

Este ejemplo crea un intervalo de un mes y lo formatea utilizando DateInterval::format():

Formatear un intervalo de una fecha en PHP

php
<?php

$interval = date_interval_create_from_date_string('1 month');
echo $interval->format('%m months');

La salida de este código será:


console
01 months

Consejos para optimizar el rendimiento

Aquí tienes algunos consejos para optimizar el rendimiento de la función:

  • Utiliza cadenas relativas concisas (por ejemplo, '1 day' en lugar de 'P0Y0M1D') para reducir la sobrecarga de análisis.
  • Almacena en caché los objetos DateInterval cuando se reutilicen dentro de la misma ejecución del script para minimizar la instanciación de objetos.
  • Evita instanciar intervalos dentro de bucles cerrados; defínelos previamente fuera del bucle y reutilízalos según sea necesario.

Conclusión

En este artículo, hemos discutido la función date_interval_create_from_date_string(). Ten en cuenta que fue marcada como obsoleta en PHP 8.2 y está programada para ser eliminada en una versión futura. Para versiones modernas de PHP, utiliza el constructor DateInterval directamente (por ejemplo, new DateInterval('P1D')). Hemos explicado cómo funciona la función, proporcionado ejemplos y ofrecido consejos para optimizar su rendimiento. Esperamos que este artículo haya sido útil.

Práctica

¿Qué hace la función de PHP date_interval_create_from_date_string?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.