Time\Duration::fromIso8601DurationString

(PHP 8 >= 8.6.0)

Time\Duration::fromIso8601DurationString — CrĂ©e une durĂ©e Ă  partir d'une chaĂźne de durĂ©e ISO 8601

Description

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

Crée une durée non négative à partir de la partie horaire d'une » spécification de durée ISO 8601, comme PT1H30M.

Liste de paramĂštres

specification

Une spécification de durée ISO 8601. Le format commence par la lettre P, pour period (période), suivie de la lettre T, pour time (temps), et d'une ou plusieurs valeurs entiÚres, chacune suivie d'un désignateur de période :

Désignateur de période Description
H heures
M minutes
S secondes

Les dĂ©signateurs doivent apparaĂźtre dans cet ordre, mais chacun est facultatif. Une valeur peut dĂ©passer la plage naturelle de son unitĂ© : PT90M et PT1H30M dĂ©crivent donc la mĂȘme durĂ©e.

Les désignateurs de date Y, M, W et D sont rejetés, car les années, les mois, les semaines et les jours n'ont pas de longueur fixe. Les valeurs fractionnaires, comme PT0.5S, ne sont pas supportées non plus.

Valeurs de retour

Retourne un nouvel objet Time\Duration.

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec 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;
}

L'exemple ci-dessus va afficher :

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

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.