NetBurner 3.5.7
PDF Version
GPSTime.h
1
/*NB_REVISION*/
2
3
/*NB_COPYRIGHT*/
4
5
#pragma once
6
#include <stddef.h>
7
8
class
GPSTime
9
{
10
public
:
11
// time
12
int
hours;
13
int
minutes;
14
int
seconds;
15
int
milliseconds;
16
17
// date
18
int
day;
19
int
month;
20
int
year;
21
22
GPSTime();
23
24
// Set from NMEA-style time string: hhmmss[.sss]
25
void
setFromNMEATime(
const
char
*timeStr);
26
// Set from NMEA-style date string: ddmmyy
27
void
setFromNMEADate(
const
char
*dateStr);
28
29
// Get formatted time strings
30
void
getTimeString(
char
*buffer,
size_t
bufferSize)
const
;
// "HH:mm:ss"
31
void
getTimeStringWithMillis(
char
*buffer,
size_t
bufferSize)
const
;
// "HH:mm:ss.sss"
32
void
getTimeISOStringWithMillis(
char
*buffer,
size_t
bufferSize)
const
;
// "YYYY-MM-DDTHH:mm:ss.sss"
33
34
// Utility
35
bool
isValid()
const
;
36
void
reset();
37
int
getEpochTime()
const
38
{
39
return
(year - 1970) * 365 * 24 * 3600 + (month - 1) * 30 * 24 * 3600 + (day - 1) * 24 * 3600 + hours * 3600 + minutes * 60 +
40
seconds;
41
}
42
};