Time\Duration::fromIso8601DurationString

(PHP 8 >= 8.6.0)

Time\Duration::fromIso8601DurationString — Creates a duration from an ISO 8601 duration string

Descrizione

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

Creates a non-negative duration from the time part of an » ISO 8601 duration specification, such as PT1H30M.

Elenco dei parametri

specification

An ISO 8601 duration specification. The format starts with the letter P, for period, followed by the letter T, for time, and one or more integer values, each followed by a period designator:

Period Designator Description
H hours
M minutes
S seconds

The designators must appear in this order, but each is optional. A value may exceed the natural range of its unit, so PT90M and PT1H30M describe the same duration.

The date designators Y, M, W and D are rejected, because years, months, weeks and days do not have a fixed length. Fractional values, such as PT0.5S, are not supported either.

Valori restituiti

Returns a new Time\Duration object.

Errori/Eccezioni

Esempi

Example #1 Time\Duration::fromIso8601DurationString() example

<?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;
}

Il precedente esempio visualizzerà:

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

Vedere anche:

+add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top