#include <modm/math/calendar/date_time.hpp>
 | 
| 
using  | duration = std::chrono::milliseconds | 
|   | 
| 
using  | precision = typename duration::period | 
|   | 
 | 
| 
constexpr  | DateTime (uint16_t year, uint8_t month, uint8_t day, uint8_t hour=0, uint8_t minute=0, uint8_t second=0, uint16_t millisecond=0, uint8_t weekday=0) | 
|   | This is an efficient conversion. 
  | 
|   | 
| 
constexpr  | DateTime (const std::chrono::year_month_day &ymd, const std::chrono::hours &hours=std::chrono::hours::zero (), const std::chrono::minutes &minutes=std::chrono::minutes::zero (), const std::chrono::seconds &seconds=std::chrono::seconds::zero (), const std::chrono::milliseconds &subseconds=std::chrono::milliseconds::zero ()) | 
|   | This computes the weekday from the date, which is somewhat expensive. 
  | 
|   | 
| 
constexpr std::chrono::year  | year () const | 
|   | 
| 
constexpr std::chrono::month  | month () const | 
|   | 
| 
constexpr std::chrono::day  | day () const | 
|   | 
| 
constexpr std::chrono::year_month_day  | year_month_day () const | 
|   | This is an efficient conversion. 
  | 
|   | 
| 
constexpr std::chrono::weekday  | weekday () const | 
|   | 
| 
constexpr std::chrono::days  | day_of_year () const | 
|   | 
| 
constexpr std::chrono::hours  | hours () const | 
|   | 
| 
constexpr std::chrono::minutes  | minutes () const | 
|   | 
| 
constexpr std::chrono::seconds  | seconds () const | 
|   | 
| 
constexpr std::chrono::milliseconds  | subseconds () const | 
|   | 
| constexpr std::chrono::hh_mm_ss< duration >  | hh_mm_ss () const | 
|   | 
| 
constexpr std::tm  | tm () const | 
|   | This is an efficient conversion. 
  | 
|   | 
| constexpr std::time_t  | time_t () const | 
|   | 
| constexpr struct timeval  | timeval () const | 
|   | 
| constexpr duration  | time_since_epoch () const | 
|   | 
| 
constexpr auto  | operator<=> (const DateTime &other) const | 
|   | 
| 
constexpr auto  | operator== (const DateTime &other) const | 
|   | 
 | 
| 
static constexpr DateTime  | from_tm (const std::tm &tm) | 
|   | Efficient conversion. 
  | 
|   | 
| 
static constexpr DateTime  | from_time_t (std::time_t tt, const std::chrono::milliseconds &subseconds=std::chrono::milliseconds::zero ()) | 
|   | Really expensive conversion! 
  | 
|   | 
| 
static constexpr DateTime  | from_timeval (const struct timeval &tv) | 
|   | Really expensive conversion! 
  | 
|   | 
| 
static consteval DateTime  | fromBuildTime () | 
|   | 
Efficient representation of a date and time 
 
  
  
      
        
          | constexpr std::chrono::hh_mm_ss<duration> modm::DateTime::hh_mm_ss  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlineconstexpr   | 
  
 
- Warning
 - This function is very inefficient due to an unnecessary conversion from hh:mm:ss.ms to ms then back to hh:mm:ss.ms in the constructor. This is a limitation of the stdc++ constructor. 
 
 
 
  
  
      
        
          | constexpr duration modm::DateTime::time_since_epoch  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlineconstexpr   | 
  
 
- Warning
 - This function is inefficient since it always converts the datetime to milliseconds. 
 
 
 
  
  
      
        
          | constexpr std::time_t modm::DateTime::time_t  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlineconstexpr   | 
  
 
- Warning
 - This function is inefficient since it always converts the datetime to seconds. 
 
 
 
  
  
      
        
          | constexpr struct timeval modm::DateTime::timeval  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
- Warning
 - This function is inefficient since it always converts the datetime to microseconds. 
 
 
 
The documentation for this class was generated from the following file: