Udostępnij za pośrednictwem


Klasa day

Reprezentuje dzień miesiąca. Na przykład 25 dzień miesiąca.

Składnia

class day; // C++20

Uwagi

Zwykle day wartości są przechowywane w zakresie [1, 31]. Może zawierać wartości inne niż ujemne poza tym zakresem, ale zachowanie nie jest określone, jeśli nie mieści się w zakresie [0, 255].

Elementy członkowskie

Nazwa/nazwisko opis
Konstruktory Skonstruuj element day.
ok Sprawdź, czy wartość dnia znajduje się w prawidłowym zakresie [1,31].
operator++ Zwiększ tę wartość day.
operator+= Dodaj określoną liczbę dni do tego dayelementu .
operator-- Dekrementuj wartość day.
operator-= Odejmij określoną liczbę dni od tej day
operator unsigned Pobierz wartość dnia jako niepodpisaną liczbę całkowitą.

Inne niż elementy członkowskie

Nazwa/nazwisko opis
from_stream Przeanalizuj element day z danego strumienia przy użyciu określonego formatu.
operator+ Dodaj określoną liczbę dni do tego dayobiektu , zwracając nowy day obiekt.
operator- Odejmij określoną liczbę dni od tego dayobiektu , zwracając nowy day obiekt.
operator== Ustal, czy dwa day wystąpienia są równe.
operator<=> Porównaj to day z innym elementem day. Operatory >, >=, <=, <, != są syntetyzowane przez kompilator.
operator<< day Wyprowadź element do danego strumienia.
operator""d Utwórz literał day dla dnia w miesiącu.

Wymagania

Nagłówek: <chrono> (od C++20)

Przestrzeń nazw: std::chrono

Opcja kompilatora: /std:c++latest

Konstruktory

Tworzy element day.

1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;

Parametry

d
Skonstruuj element day o wartości d.

Uwagi

1) Domyślny konstruktor nie inicjuje wartości dnia.
2) Skonstruuj wartość z wartością day dnia zainicjowaną na .d

Przykład: tworzenie elementu day

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    day d{1}; // day 1
    day d2 = 2d; // day 2

    std::cout << d << ", " << d2;

    return 0;
}
01, 02

ok

Sprawdź, czy wartość przechowywana w tym day zakresie znajduje się w prawidłowym zakresie.

constexpr bool ok() const noexcept;

Wartość zwracana

true jeśli wartość dnia znajduje się w zakresie [1,31]. W przeciwnym razie wartość false.

operator++

Dodaj wartość 1 do dnia.

1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;

Wartość zwracana

1) Odwołanie do *this day po jego przyrostku (przyrostek).
2) Kopia elementu day, przed jej przyrostem (przyrostem prefiksu).

Przykład: operator++

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    day d{1};

    std::cout << d << " " << ++d << "\n"; // constexpr day& operator++() noexcept
    std::cout << d << " " << d++ << "\n"; // constexpr day operator++(int) noexcept
    std::cout << d;

    return 0;
}
01 02
02 02
03

Uwagi

Jeśli przyrostowy wynik jest poza zakresem [0, 255], przechowywana wartość jest nieokreślona.

operator--

Odejmij 1 od wartości dnia.

1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;

Wartość zwracana

1) Odwołanie do *this dnia po jego dekrementacji (dekrementacja postfiksu).
2) Kopia obiektu *day, zanim została zdekrementowana (dekrementacja prefiksu).

Przykład: operator--

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

int main()
{
    day d{5};
    std::cout << d << " " << --d << "\n"; // constexpr day& operator--() noexcept
    std::cout << d << " " << d-- << "\n"; // constexpr day operator--(int) noexcept
    std::cout << d << "\n";

    return 0;
}
05 04
04 04
03

Uwagi

Jeśli zdekrementowany wynik jest poza zakresem [0, 255], przechowywana wartość jest nieokreślona.

operator+=

Dodaj dni do tego dayelementu .

constexpr day& operator+=(const days& d) noexcept;

Parametry

d
Liczba dni do dodania.

Wartość zwracana

*this

Jeśli wynik znajduje się poza zakresem [0, 255], przechowywana wartość jest nieokreślona.

operator-=

Odejmij dni od tego day.

constexpr day& operator-=(const days& d) noexcept;

Parametry

d
Liczba dni do odejmowania.

Wartość zwracana

*this. Jeśli wynik znajduje się poza zakresem [0, 255], przechowywana wartość jest nieokreślona.

operator unsigned

day Pobierz wartość.

explicit constexpr operator unsigned() const noexcept;

Wartość zwracana

Wartość elementu day

Przykład: operator unsigned()

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

int main()
{
    chrono::day d{14d};
    unsigned dayValue = static_cast<unsigned>(d);
    cout << dayValue << "\n";
    
    return 0;
}
14

Zobacz też

<chrono>
Klasa month_day
Klasa month_day_last
year_month_day
year_month_day_last
Odwołanie do plików nagłówka