7struct CLASS_DECL_ACME posix_time
12 constexpr posix_time() : m_iSecond(0) {}
14 constexpr posix_time(
zero_t) : m_iSecond(0) {}
15 template < prototype_
integral INTEGRAL >
16 constexpr posix_time(
posix_time_t, INTEGRAL iSecond) : m_iSecond(iSecond) {}
17 constexpr posix_time(
const posix_time &) =
default;
18 explicit posix_time(const ::file_time & pfile_time, ::i32 nDST = -1);
19 explicit posix_time(
const system_time & systemtime, ::i32 nDST = -1);
20 explicit posix_time(const ::earth::gregorian_time & gregoriantime);
23 constexpr posix_time operator + (posix_time posixtime)
const
25 return {
posix_time_t{}, m_iSecond + posixtime.m_iSecond };
28 constexpr posix_time operator - (posix_time posixtime)
const
30 return {
posix_time_t{}, m_iSecond - posixtime.m_iSecond };
33 constexpr posix_time & operator += (posix_time posixtime)
35 m_iSecond += posixtime.m_iSecond;
39 constexpr posix_time & operator -=(posix_time posixtime)
41 m_iSecond -= posixtime.m_iSecond;
45 constexpr posix_time & operator =(
const posix_time & posixtime)
47 m_iSecond = posixtime.m_iSecond;
52 template < prototype_
integral INTEGRAL >
53 constexpr posix_time & operator *=(INTEGRAL i)
60 template < prototype_
integral INTEGRAL >
61 constexpr posix_time & operator /=(INTEGRAL i)
68 template < prototype_
integral INTEGRAL >
69 constexpr posix_time & operator %=(INTEGRAL i)
76 template < prototype_
integral INTEGRAL >
77 constexpr posix_time operator * (INTEGRAL i)
const
83 template < prototype_
integral INTEGRAL >
84 constexpr posix_time operator / (INTEGRAL i)
const
90 template < prototype_
integral INTEGRAL >
91 constexpr posix_time operator % (INTEGRAL i)
const
97 bool operator ==(const ::posix_time &
time)
const
100 return m_iSecond ==
time.m_iSecond;
104 std::strong_ordering operator <=>(const ::posix_time &
time)
const
107 return m_iSecond <=>
time.m_iSecond;
111 inline static posix_time now() {
return now_t{}; }
113 constexpr ::i64 minutes()
const;
114 constexpr ::i64 hours()
const;
115 constexpr ::i64 days()
const;