std::chrono::operator+, std::chrono::operator- (std::chrono::day)
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Date and time library
(C++11)
(C++20)
(C++20)
(C++11)
(C++11)
(C++11)
(C++20)
(C++20)
(C++20)
(C++11)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
std::chrono::day
Member functions
Nonmember functions
operator+operator-
Helper classes
(C++26)
Defined in header
<chrono>
constexpr std::chrono::day operator+( const std::chrono::day & d,
const std::chrono::days & ds ) noexcept;
(1)
(since C++20)
const std::chrono::days & ds ) noexcept;
constexpr std::chrono::day operator+( const std::chrono::days & ds,
const std::chrono::day & d ) noexcept;
(2)
(since C++20)
const std::chrono::day & d ) noexcept;
constexpr std::chrono::day operator-( const std::chrono::day & d,
const std::chrono::days & ds ) noexcept;
(3)
(since C++20)
const std::chrono::days & ds ) noexcept;
constexpr std::chrono::days operator-( const std::chrono::day & x,
const std::chrono::day & y ) noexcept;
(4)
(since C++20)
const std::chrono::day & y ) noexcept;
1,2) Adds ds.count() days to d.
3) Subtracts ds.count() days from d.
4) Calculate the difference, in days, between two day x and y.
Contents
[edit] Return value
1,2) std::chrono::day (unsigned(d) + ds.count())
3) std::chrono::day (unsigned(d) - ds.count())
4) std::chrono::days (int(unsigned(x)) - int(unsigned(y)))
[edit] Notes
1-3) If the result would be outside the range
[
0,
255]
, the actual stored value is unspecified.[edit] Example
Run this code
#include <cassert> #include <chrono> int main() { std::chrono::day d{15}; d = d + std::chrono::days (2); assert (d == std::chrono::day (17)); d = d - std::chrono::days (3); assert (d == std::chrono::day (14)); constexpr std::chrono::days ds = std::chrono::day (16) - std::chrono::day (14); static_assert(ds == std::chrono::days (2)); }