Rozważmy następujący przykład cytowany z podręcznika php dla DateTime
<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>
„D” oznacza dni, co oznacza „P” w tym formatowaniu?
P
ale to odniesienie jest tak zaniżone. Domyślałem oznaczało to okres i szukałemphp.net
dla tego słowa, ja oczywiście nigdy nie dostał do strony konstruktora .. Ale to nie jest określany nadate_format
,DateTime::diff
,DateTime::format
,DateInterval
, oraz szereg ogólnychDate/Time
funkcji. Chciałem wiedzieć, czy są jakieś inne prefiksy, o których warto wiedzieć i niech mnie diabli, gdybym mógł je znaleźć, dopóki nieMyślę, że można na nie odpowiedzieć bardziej szczegółowo. Po pierwsze,
DateInterval
metoda konstruktora przyjmuje jeden parametr o nazwie$interval_spec
łańcuch.DateInterval::__construct ( string $interval_spec )
Ten parametr ma specyfikację opisaną poniżej:
Istnieje kilka oznaczeń okresu, które są używane w argumencie:
Zobaczmy przykład z użyciem wskaźników okresu:
Istnieje kolejność, którą należy zachować zgodnie z opisem w dokumencie:
Specyfikację można również przedstawić jako datę i godzinę .
Ale wartości w tym formacie nie mogą przekroczyć punktu kumulacji z danego okresu (np. 25 godzin jest nieprawidłowe).
źródło