year_month_weekday_last
kelas
Tahun tertentu, bulan, dan hari kerja terakhir dalam sebulan.
Sintaks
class year_month_weekday_last; // C++20
Keterangan
year_month_weekday_last
mendukung aritmatika berorientasi bertahun-tahun dan berbulan-bulan, tetapi bukan aritmatika berorientasi hari. Untuk aritmatika berorientasi hari, gunakan sys_days
konversi untuk mengonversi ke sys_days
, yang mendukung aritmatika berorientasi hari.
year_month_weekday_last
adalah tipe kelas tata letak standar dan dapat disalin dengan mudah.
Anggota
Nama | Deskripsi |
---|---|
Constructor |
Buat year_month_weekday_last dengan bulan dan hari kerja yang ditentukan. |
month |
Dapatkan nilai bulan. |
ok |
Periksa apakah year_month_weekday_last valid. |
operator+= |
Tambahkan jumlah bulan atau tahun yang ditentukan. |
operator-= |
Kurangi jumlah bulan atau tahun yang ditentukan. |
operator local_days |
Dapatkan hitungan hari dari system_clock zaman ke ini year_month_weekday_last sebagai local_days . |
operator sys_days |
Dapatkan hitungan hari dari system_clock zaman ke ini year_month_weekday_last sebagai sys_days . |
weekday |
Dapatkan hari kerja. |
weekday_last |
Dapatkan yang weekday_last disimpan dalam ini year_month_weekday_last . |
year |
Dapatkan tahun. |
Non-anggota
Nama | Deskripsi |
---|---|
operator+ |
Tambahkan bulan atau tahun. |
operator- |
Mengurangi bulan atau tahun. |
operator== |
Tentukan apakah dua year_month_weekday_last nilai sama. |
operator<< |
Keluarkan year_month_weekday_last ke aliran yang diberikan. |
Persyaratan
Header:<chrono>
(sejak C++20)
Ruang nama:std::chrono
Opsi Kompilator:/std:c++latest
Konstruktor
Membangun sebuah year_month_weekday_last
.
constexpr year_month_weekday_last(const year& y, const month& m, const weekday_last& wdl) noexcept
Parameter
m
Nilainya month
.
wdl
Nilainya weekday_last
.
y
Nilainya year
.
Untuk informasi tentang sintaks C++20 yang digunakan untuk menentukan tanggal, lihat operator/
Contoh: Membuat year_month_weekday_last
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday_last ymwl{ 1997y / January / Wednesday[last] };
std::cout << ymwl << '\n';
return 0;
}
1997/Jan/Wed[last]
month
Dapatkan nilai bulan.
constexpr month month() const noexcept;
Nilai hasil
Nilainya month
.
ok
Periksa apakah nilai yang disimpan dalam ini year_month_weekday_last
valid. year
, , month
dan weekday_last
disimpan dalam ini year_month_weekday_last
semua harus ok
agar fungsi ini kembali true
. Jika tidak, kembalikan false
.
constexpr bool ok() const noexcept;
Nilai hasil
true
year_month_weekday_last
jika nilainya valid. Sebaliknya, false
.
A year_month_weekday_last
valid jika month
, weekday_indexed
, dan year
semuanya valid.
operator+=
Tambahkan bulan atau tahun ke ini year_month_weekday_last
.
1) constexpr year_month_weekday_last& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator+=(const years& y) noexcept;
Parameter
m
Jumlah bulan yang akan ditambahkan.
y
Jumlah tahun yang akan ditambahkan.
Nilai hasil
*this
yang mencerminkan hasil penambahan.
Contoh: operator+=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
std::cout << ymwl << '\n';
ymwl += months{ 1 };
ymwl += years{ 1 };
std::cout << ymwl << '\n';
return 0;
}
1997/Jan/Wed[last]
1998/Feb/Wed[last]
operator-=
Kurangi bulan atau tahun dari ini year_month_weekday_last
.
1) constexpr year_month_weekday_last& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator-=(const years& y) noexcept;
Parameter
m
Jumlah bulan yang akan dikurangi.
y
Jumlah tahun yang akan dikurangi.
Nilai hasil
*this
yang mencerminkan hasil pengurangan.
Contoh: operator-=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
std::cout << ymwl << '\n';
ymwl -= months{ 1 };
ymwl -= years{ 1 };
std::cout << ymwl << '\n';
return 0;
}
1997/Jan/Wed[last]
1995/Dec/Wed[last]
operator local_days
Dapatkan hitungan hari dari system_clock
zaman (1/1/1970)year_month_weekday_last
local_days
constexpr explicit operator local_days() const noexcept;
Nilai hasil
Jika ok()
, mengembalikan hitungan hari sebagai local_days{sys_days{*this}.time_since_epoch()}
. Jika tidak, nilai yang dikembalikan tidak ditentukan.
operator sys_days
Dapatkan hitungan hari dari system_clock
zaman (1/1/1970) ke ini year_month_day
sebagai sys_days
.
constexpr operator sys_days() const noexcept;
Nilai hasil
Jika ok() == true
, mengembalikan sys_days
yang mewakili yang terakhir weekday()
year() / month()
(catatan: /
adalah operator tanggal, bukan divisi). Jika tidak, nilai yang dikembalikan tidak ditentukan.
weekday
weekday
Dapatkan .
constexpr weekday weekday() const noexcept;
Nilai hasil
weekday_last
Dapatkan yang weekday_last
disimpan dalam ini year_month_weekday_last
.
constexpr weekday_indexed weekday_last() const noexcept;
Nilai hasil
year
Dapatkan nilai tahun.
constexpr year year() const noexcept;
Nilai hasil
Nilainya year
.
Baca juga
<chrono>
year
year_month
year_month_day
year_month_day_last
year_month_weekday
operator/
Referensi File Header
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk