7 #include "Arp/System/Core/PrimitiveTypes.hpp" 10 #ifndef ARP_INSIDE_ARP_H 11 #error Never include 'DateTime.hpp' directly, just include 'Arp.h' 102 bool operator==(
const DateTime& arg)
const;
106 bool operator!=(
const DateTime& arg)
const;
110 bool operator>(
const DateTime& arg)
const;
114 bool operator<(
const DateTime& arg)
const;
118 bool operator>=(
const DateTime& arg)
const;
122 bool operator<=(
const DateTime& arg)
const;
131 static DateTime FromUnixTime(time_t unixTime);
135 ARP_DEPRECATED(
"Use FromUnixTimeMicroseconds instead")
140 static DateTime FromUnixTimeMicroseconds(
int64 microseconds);
163 static bool IsLeapYear(
int year);
168 int64 GetTicks(
void)
const;
176 int GetYear(
void)
const;
180 int GetMonth(
void)
const;
184 int GetDay(
void)
const;
188 int GetHour(
void)
const;
192 int GetMinute(
void)
const;
196 int GetSecond(
void)
const;
200 int GetMillisecond(
void)
const;
204 int GetMicrosecond(
void)
const;
209 time_t ToUnixTime(
void)
const;
212 ARP_DEPRECATED(
"Use ToUnixTimeMicroseconds instead")
213 uint64 ToUnixMicrosecondTicks(
void)
const;
216 int64 ToUnixTimeMicroseconds(
void)
const;
219 uint64 ToBinary(
void)
const;
222 int64 ToOpcUaTime(
void)
const;
225 String ToIso8601String(
void)
const;
228 int GetDatePart(
int part)
const;
231 static int64 DateToTicks(
int year,
int month,
int day);
232 static int64 TimeToTicks(
int hour,
int minute,
int second);
233 static int64 TimeToTicks(
int hour,
int minute,
int second,
int millisecond,
int microsecond);
243 static const int kindShift = 62;
244 static const uint64 kindMask = 3ULL << kindShift;
245 static const uint64 ticksMask = ~kindMask;
248 static const int64 ticksPerMicrosecond = 10;
249 static const int64 ticksPerMillisecond = ticksPerMicrosecond * 1000;
250 static const int64 ticksPerSecond = ticksPerMillisecond * 1000;
251 static const int64 ticksPerMinute = ticksPerSecond * 60;
252 static const int64 ticksPerHour = ticksPerMinute * 60;
253 static const int64 ticksPerDay = ticksPerHour * 24;
256 static const int daysPerYear = 365;
258 static const int daysPer4Years = daysPerYear * 4 + 1;
260 static const int daysPer100Years = daysPer4Years * 25 - 1;
262 static const int daysPer400Years = daysPer100Years * 4 + 1;
265 static const int daysTo1970 = daysPer400Years * 4 + daysPer100Years * 3 + daysPer4Years * 17 + daysPerYear;
267 static const int daysTo1601 = daysPer400Years * 4;
269 static const int daysTo10000 = daysPer400Years * 25 - 366;
271 static const int daysToMonth365[];
272 static const int daysToMonth366[];
274 static const int datePartYear = 0;
275 static const int datePartMonth = 2;
276 static const int datePartDayOfYear = 1;
277 static const int datePartDay = 3;
280 static const int64 unix0Ticks = daysTo1970 * ticksPerDay;
281 static const int64 opcua0Ticks = daysTo1601 * ticksPerDay;
289 static const int64 MaxTicks = daysTo10000 * ticksPerDay - 1;
331 return (
int64)(this->data & ticksMask);
bool operator<(const DateTime &arg) const
Compares the ticks of this instance to arg .
Definition: DateTime.hpp:314
bool operator>=(const DateTime &arg) const
Compares the ticks of this instance to arg .
Definition: DateTime.hpp:319
The class contains date and time informations.
Definition: DateTime.hpp:43
bool operator==(const DateTime &arg) const
Compares the ticks of this instance to arg .
Definition: DateTime.hpp:299
static DateTime FromUnixMicrosecondTicks(uint64 microseconds)
Creates a DateTime from the as argument passed unix time in microseconds.
Definition: DateTime.hpp:339
Kind of time in not specified
DateTimeKind
Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC)...
Definition: DateTime.hpp:24
bool operator>(const DateTime &arg) const
Compares the ticks of this instance to arg .
Definition: DateTime.hpp:309
bool operator!=(const DateTime &arg) const
Compares the ticks of this instance to arg .
Definition: DateTime.hpp:304
bool operator<=(const DateTime &arg) const
Compares the ticks of this instance to arg .
Definition: DateTime.hpp:324
Root namespace for the PLCnext API
std::uint64_t uint64
The Arp unsigned integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:39
int64 GetTicks(void) const
Gets the number of ticks that represent the date and time of this instance.
Definition: DateTime.hpp:329
DateTimeKind GetKind(void) const
Gets a value that indicates whether the time represented by this instance is based on local time...
Definition: DateTime.hpp:334
DateTime(void)
Constructs an zero'ed DateTime instance.
Definition: DateTime.hpp:294
std::int64_t int64
The Arp integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:41