Considere el siguiente ejemplo citado del manual de php para DateTime
<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>
'D' es por días, ¿qué significa la 'P' en ese formato?
P
pero esa referencia es muy discreta. Supuse que significaba período y que estaba buscandophp.net
para esa palabra, obviamente, nunca llegué a la página constructor .. Pero no es referencia endate_format
,DateTime::diff
,DateTime::format
,DateInterval
, y una serie de generalesDate/Time
funciones. Quería saber si había otros prefijos que conocer y maldita sea si pudiera encontrarlo hasta que llegué al intercambio de pilasCreo que se puede responder con más detalles. En primer lugar, el
DateInterval
método constructor toma un parámetro llamado$interval_spec
que es una cadena.DateInterval::__construct ( string $interval_spec )
Este parámetro tiene una especificación que se describe a continuación:
Hay algunos designadores de período que se utilizan en el argumento:
Veamos un ejemplo usando designadores de período:
Hay un orden que debe mantenerse como se describe en el documento:
La especificación también se puede representar como una fecha y hora .
Pero los valores en este formato no pueden exceder el punto de transferencia de un período determinado (por ejemplo, 25 horas no es válido).
fuente