25 #define SECS_PER_MIN (60UL)
26 #define SECS_PER_HOUR (3600UL)
27 #define SECS_PER_DAY (SECS_PER_HOUR * 24L)
28 #define DAYS_PER_WEEK (7L)
29 #define SECS_PER_WEEK (SECS_PER_DAY * DAYS_PER_WEEK)
30 #define SECS_PER_YEAR (SECS_PER_WEEK * 52L)
31 #define SECS_YR_2000 (946681200UL)
173 void setTime(uint8_t sec, uint8_t min, uint8_t hour, uint8_t day, uint8_t month, uint16_t year)
275 static void fromUnixTime(time_t timep, uint8_t* psec, uint8_t* pmin, uint8_t* phour, uint8_t* pday, uint8_t* pwday,
276 uint8_t* pmonth, uint16_t* pyear);
292 static time_t
toUnixTime(
int sec,
int min,
int hour,
int day, uint8_t month, uint16_t year);
359 void calcDayOfYear();
360 uint8_t calcWeek(uint8_t firstDay)
const;
Date and time class.
Definition: DateTime.h:136
time_t toUnixTime() const
Get Unix time.
bool fromISO8601(const String &datetime)
Parse an ISO8601 date/time string.
uint8_t Minute
Minute (0-59)
Definition: DateTime.h:364
String format(const char *formatString) const
Create string formatted with time and date placeholders.
uint8_t Hour
Hour (0-23)
Definition: DateTime.h:363
bool isNull() const
Check if time date object is initialised.
DateTime(time_t time)
Instantiate a date and time object from a Unix timestamp.
Definition: DateTime.h:147
DateTime()
Instantiate an uninitialised date and time object.
Definition: DateTime.h:140
uint8_t Second
Second (0-59)
Definition: DateTime.h:365
uint16_t DayofYear
Day of year (0-365)
Definition: DateTime.h:369
uint16_t Milliseconds
Milliseconds (0-999)
Definition: DateTime.h:366
void addMilliseconds(long add)
Add time to date time object.
String toFullDateTimeString() const
Get human readable date and time.
String format(const String &formatString) const
Create string formatted with time and date placeholders.
Definition: DateTime.h:344
String toHTTPDate() const
Get human readable date and time.
void setTime(time_t time)
Set time using Unix timestamp.
static uint8_t getMonthDays(uint8_t month, uint16_t year)
static String getIsoMonthName(uint8_t month)
static String getIsoDayName(uint8_t day)
uint8_t DayofWeek
Day of week (0-6 Sunday is day 0)
Definition: DateTime.h:368
String toISO8601() const
Get human readable date and time.
static time_t toUnixTime(int sec, int min, int hour, int day, uint8_t month, uint16_t year)
Convert from individual time components to Unix time.
bool fromHttpDate(const String &httpDate)
Parse a HTTP full date and set time and date.
String toShortTimeString(bool includeSeconds=false) const
Get human readable time.
static bool isLeapYear(uint16_t year)
void setTime(uint8_t sec, uint8_t min, uint8_t hour, uint8_t day, uint8_t month, uint16_t year)
Set time using time and date component values.
Definition: DateTime.h:173
static void fromUnixTime(time_t timep, uint8_t *psec, uint8_t *pmin, uint8_t *phour, uint8_t *pday, uint8_t *pwday, uint8_t *pmonth, uint16_t *pyear)
Convert from Unix time to individual time components.
static String getLocaleMonthName(uint8_t month)
static String getLocaleDayName(uint8_t day)
uint16_t Year
Full Year number.
Definition: DateTime.h:371
String toShortDateString() const
Get human readable date.
uint8_t Day
Day of month (1-31)
Definition: DateTime.h:367
static uint16_t getDaysInYear(uint16_t year)
uint8_t Month
Month (0-11 Jan is month 0)
Definition: DateTime.h:370
The String class.
Definition: WString.h:137
const char * c_str() const
Get a constant (un-modifiable) pointer to String content.
Definition: WString.h:616
#define SECS_PER_HOUR
Definition: DateTime.h:26
constexpr time_t previousMidnight(time_t time)
Definition: DateTime.h:101
constexpr uint8_t numberOfHours(time_t time)
Definition: DateTime.h:77
dtMonth_t
Months.
Definition: DateTime.h:47
#define SECS_PER_MIN
Definition: DateTime.h:25
constexpr dtDays_t dayOfWeek(time_t time)
Definition: DateTime.h:83
dtDays_t
Days of week.
Definition: DateTime.h:35
constexpr uint8_t elapsedDays(time_t time)
Definition: DateTime.h:89
constexpr time_t nextMidnight(time_t time)
Definition: DateTime.h:107
constexpr unsigned elapsedSecsToday(time_t time)
Definition: DateTime.h:95
#define DAYS_PER_WEEK
Definition: DateTime.h:28
constexpr unsigned elapsedSecsThisWeek(time_t time)
Definition: DateTime.h:113
constexpr uint8_t numberOfMinutes(time_t time)
Definition: DateTime.h:71
#define SECS_PER_DAY
Definition: DateTime.h:27
constexpr uint8_t numberOfSeconds(time_t time)
Definition: DateTime.h:65
@ dtMarch
Definition: DateTime.h:50
@ dtJanuary
Definition: DateTime.h:48
@ dtFebruary
Definition: DateTime.h:49
@ dtOctober
Definition: DateTime.h:57
@ dtJune
Definition: DateTime.h:53
@ dtMay
Definition: DateTime.h:52
@ dtApril
Definition: DateTime.h:51
@ dtJuly
Definition: DateTime.h:54
@ dtNovember
Definition: DateTime.h:58
@ dtAugust
Definition: DateTime.h:55
@ dtSeptember
Definition: DateTime.h:56
@ dtDecember
Definition: DateTime.h:59
@ dtWednesday
Definition: DateTime.h:39
@ dtMonday
Definition: DateTime.h:37
@ dtTuesday
Definition: DateTime.h:38
@ dtSunday
Definition: DateTime.h:36
@ dtFriday
Definition: DateTime.h:41
@ dtThursday
Definition: DateTime.h:40
@ dtSaturday
Definition: DateTime.h:42
Time< T > time(Unit unit, T value)
Helper function to create a Time and deduce the type.
Definition: NanoTime.h:423