Korzystanie z klasy PHP DateInterval

Korzystanie z klasy PHP DateInterval

Klasa PHP DATINTERVAL oblicza różnicę między dwoma obiektami daty/godziny. Czasami wymaga znalezienia różnicy między dwa dni, miesiące, lata, godziny, minuty i sekundy do celów programowania. Obiekt tej klasy przechowuje stałą ilość czasu, który można odczytać za pomocą funkcji format () przy użyciu parametrów różnych formatów. W tym samouczku pokazano różne zastosowania klasy dateInterval w PHP.

Różne parametry formatu funkcji Format ()

Cele różnych znaków formatu zastosowanych w funkcji Format () zostały opisane w tej części samouczka.

Formatowanie postaci Zamiar
%D Wydrukuje dzień daty bez prowadzenia zero

Przykład: 1, 2, 30 itp.

%D Wydrukuje dzień daty z wiodącym zerem

Przykład: 2, 05, 30 itd.

%M Wydrukuje numer miesiąca daty bez wiodącego zera

Przykład: 1, 6, 12 itp.

%M Wydrukuje numer miesiąca daty z wiodącym zero

Przykład: 01, 06, 12 itp.

%y Drukuje 2-cyfrowy rok

Przykład: 21, 22, 23 itp.

%Y Wydrukuje 4-cyfrowy rok

Przykład: 2021, 2022, 2023 itp.

%H Wydrukuje godzinę bez prowadzenia zeru

Przykład: 1, 5, 11 itd.

%H Wydrukuje godzinę z zero

Przykład: 01, 05, 11 itd.

%I Wydrukuje minutę bez prowadzenia zero

Przykład: 1, 9, 59 itp.

%I Wydrukuje minutę z zerem zerowym

Przykład: 01, 05, 25 itp.

%S Drukuje drugie bez prowadzenia zero

Przykład: 1, 9, 59 itp.

%S Wydrukuje drugie z zero

Przykład: 01, 09, 59 itp.

%F Wydrukuje mikrosekund bez prowadzenia zero

Przykład: 7845, 562312, 235634 itp.

%F Wydrukuje mikrosekundę z 6 cyframi i prowadząc zero

Przykład: 007845, 062312, 235634 itp.

Zastosowania różnych metod klasy dateInterval są omówione w następnej części tego samouczka.

Przykład 1: Korzystanie z klas DateInterval na dzień, miesiąc i rok

Utwórz plik PHP z następującym skryptem, który pokazuje użycie definiowania różnych wartości interwałowych, używając klasy DateInterval. Interwał musi rozpocząć się od postaci „P”. Postać „y” jest używany w odstępie roku, „M” jest używany w odstępie miesiąca, a „D” jest używany do odstępu dziennego. W skrypcie pierwsza klasa dateInterval ustanowi 10 dni odstępów, druga klasa dateInterval będzie ustanowiła odstępy 5 miesięcy i 10 dni, a trzecia klasa dateInterval ustanowi 2 lata, 5 miesięcy i 10 dni odstępów.

// Ustaw interwał za dni
$ ival = new DateInterval („p10d”);
// Wydrukuj wartość przedziału
echo „interwał to”, $ ival-> format ('%d dni.')."
";
// Ustaw interwał w miesiącach i dni
$ ival = new DateInterval („p5m10d”);
// Wydrukuj wartość przedziału w miesiącach i dniach
echo „interwał to”, $ ival-> format („ %m miesięcy i %d dni.') ”
";
// Ustaw interwał w latach, miesiącach i dniach
$ ival = new DateInterval („p2Y5M10D”);
// Wydrukuj wartość przedziału w latach, miesiącach i dniach z wiodącymi zerami
echo „interwał to”, $ ival-> format („ %y lata, %m miesięcy i %d dni.') ”
";
// Wydrukuj wartość przedziału w latach, miesiącach i dniach bez wiodących zer
echo „interwał to”, $ ival-> format („ %y lata, %m miesięcy i %d dni.') ”
";
?>


Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu:

Przykład 2: Korzystanie z klasy dateInterval z funkcją DATE_INTERVAL_FORMAT ()

Funkcja DATE_INTERVAL_FORMAT () drukuje wartość przedziału daty z ciągiem formatowym. Ta funkcja przyjmuje obiekt przedziałowy w pierwszym argumencie i ciąg formatu w drugim argumencie. Utwórz plik PHP z następującym skryptem, w którym wyświetlono użycie funkcji date_interval_format ():

// Ustaw interwał w latach, miesiącach i dniach
$ ival = new DateInterval ('p10Y6M15D');
// Ustaw format na kilka dni
$ format = "%d";
// Wydrukuj wartość przedziału za dni
echo „interwał to”.date_interval_format ($ ival, $ format)."Dni.
";
// Ustaw format na dni i miesiące
$ format = " %m miesięcy i %dni.";
// Wydrukuj wartość przedziału w miesiącach i dniach
echo „interwał to”.date_interval_format ($ ival, $ format)."
";
// Ustaw format na kilka dni
$ format = " %y lata, %m miesięcy i %dni.";
// Wydrukuj wartość przedziału w latach, miesiącach i dniach
echo „interwał to”.date_interval_format ($ ival, $ format)."
";
?>


Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu:

Przykład 3: Korzystanie z klas DateInterval dla godziny, minuty i sekundy

Znak „t” jest używany po postaci „p” do ustawiania interwału na czas. Utwórz plik PHP z następującym skryptem, w którym odstęp czasowy jest ustawiany przy użyciu klasy DateInterval:

// Ustaw interwał w kilka sekund
$ ival = new DateInterval („PT30S”);
// Ustaw formatowanie
$ format = "%s sekund.";
// Wydrukuj wartość przedziału w sekundach
echo „interwał to”. date_interval_format ($ ival, $ format). "
";
// Ustaw interwał w kilka sekund
$ ival = new DateInterval („PT15M30S”);
// Ustaw formatowanie
$ format = " %i minuty i %s sekund.";
// Wydrukuj wartość przedziału w minutach i sekundach
echo „interwał to”. date_interval_format ($ ival, $ format). "
";
// Ustaw interwał w kilka sekund
$ ival = new DateInterval („PT5H15M30S”);
// Ustaw formatowanie
$ format = " %h godzin, %i minuty i %s sekund.";
// Wydrukuj wartość przedziału w godzinach, minutach i sekundach
echo „interwał to”. date_interval_format ($ ival, $ format). "
";
?>


Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu:

Przykład 4: Korzystanie z klas DateInterval z funkcją CreateFromDatestring ()

Funkcja CreateFromDAstring () służy do ustawiania daty i przedziału czasu na różne sposoby. Utwórz plik PHP z następującym skryptem, w którym przedział daty i godziny został ustawiony na różne sposoby za pomocą funkcji CreateFromDiString ():

// Ustaw interwał za dni
$ ival = dateInterval :: createFromDatestring ('20 dni ');
echo „interwał to”, $ ival-> format („%d dni”), ”
";
// Ustaw interwał w tygodnie
$ ival = dateInterval :: createFromDatestring („4 tygodnie”);
echo „interwał to”, $ ival-> format („%d dni”), ”
";
// Ustaw interwał w miesiącach
$ ival = dateInterval :: createFromDateString („3 miesiące”);
echo „interwał to”, $ ival-> format („%m miesięcy”), ”
";
// Ustaw interwał w latach i dni
$ ival = dateInterval :: createFromDatestring („5 rok + 15 dni”);
echo „interwał to”, $ ival-> format („ %y lata %d dni”), ”
";
// Ustaw interwał w tygodnie, dni, godziny i minuty według sumowania
$ ival = dateInterval :: create fromDateString („2 tygodnie + 15 dni + 24 godziny + 60 minut”);
echo „interwał to”, $ ival-> format („ %d dni, %h godzin i %i minuty”), ”
";
// Ustaw interwał w ciągu dni przez odejmowanie
$ ival = dateInterval :: createFromDateString ('30 dni - 15 dni);
echo „interwał to”, $ ival-> format („%d dni”), ”
";
?>


Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu:

Wniosek

W tym samouczku pokazano różne sposoby ustawienia przedziału daty i czasu za pomocą wartości ciągu w momencie tworzenia obiektu klasy dateInterval lub za pomocą createFromDAster (). Zastosowania klasy dateInterval zostały omówione dla nowych użytkowników PHP, aby lepiej zrozumieć.