Time\Duration::fromIso8601DurationString

(PHP 8 >= 8.6.0)

Time\Duration::fromIso8601DurationString — Crea una duración a partir de una cadena de duración ISO 8601

Descripción

public static function Time\Duration::fromIso8601DurationString(string $specification): Time\Duration

Crea una duración no negativa a partir de la parte de tiempo de una » especificación de duración ISO 8601, como PT1H30M.

Parámetros

specification

Una especificación de duración ISO 8601. El formato empieza con la letra P, de period (periodo), seguida de la letra T, de time (tiempo), y de uno o más valores enteros, cada uno seguido de un designador de periodo:

Designador de periodo Descripción
H horas
M minutos
S segundos

Los designadores deben aparecer en este orden, pero cada uno es opcional. Un valor puede exceder el rango natural de su unidad, por lo que PT90M y PT1H30M describen la misma duración.

Los designadores de fecha Y, M, W y D se rechazan, porque los años, meses, semanas y días no tienen una duración fija. Tampoco se admiten los valores fraccionarios, como PT0.5S.

Valores devueltos

Devuelve un nuevo objeto Time\Duration.

Errores/Excepciones

Ejemplos

Ejemplo #1 Ejemplo de Time\Duration::fromIso8601DurationString()

<?php
var_dump(\Time\Duration::fromIso8601DurationString('PT1H30M'));

var_dump(\Time\Duration::fromIso8601DurationString('PT90S')->seconds);

try {
    \Time\Duration::fromIso8601DurationString('P1D');
} catch (\Time\TimeException $e) {
    echo $e->getMessage(), PHP_EOL;
}

try {
    \Time\Duration::fromIso8601DurationString('PT0.5S');
} catch (\Time\TimeException $e) {
    echo $e->getMessage(), PHP_EOL;
}

El ejemplo anterior mostrará:

object(Time\Duration)#1 (3) {
  ["seconds"]=>
  int(5400)
  ["nanoseconds"]=>
  int(0)
  ["negative"]=>
  bool(false)
}
int(90)
The ISO 8601 duration string may only contain the time (T) aspect
The ISO 8601 duration string could not be parsed

Véase también

+add a note

User Contributed Notes

There are no user contributed notes for this page.