AceTime  1.1.2
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
OffsetDateTime.cpp
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include "common/util.h"
7 #include "common/DateStrings.h"
8 #include "LocalDateTime.h"
9 #include "OffsetDateTime.h"
10 
11 namespace ace_time {
12 
13 using common::printPad2;
14 
15 void OffsetDateTime::printTo(Print& printer) const {
16  if (isError()) {
17  printer.print(F("<Invalid OffsetDateTime>"));
18  return;
19  }
20 
21  // LocalDateTime
22  mLocalDateTime.printTo(printer);
23 
24  // TimeOffset "+/-hh:mm
25  mTimeOffset.printTo(printer);
26 }
27 
29  if (strlen(dateString) < kDateStringLength) {
30  return forError();
31  }
32  return forDateStringChainable(dateString);
33 }
34 
36  const char* s = dateString;
37 
40 
41  dateString = s;
42  return OffsetDateTime(ldt, offset);
43 }
44 
45 }
ace_time::OffsetDateTime::printTo
void printTo(Print &printer) const
Print OffsetDateTime to 'printer' in ISO 8601 format.
Definition: OffsetDateTime.cpp:15
ace_time::OffsetDateTime::forDateString
static OffsetDateTime forDateString(const char *dateString)
Factory method.
Definition: OffsetDateTime.cpp:28
ace_time::OffsetDateTime::OffsetDateTime
OffsetDateTime()
Constructor.
Definition: OffsetDateTime.h:151
ace_time::LocalDateTime
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
ace_time::TimeOffset::forOffsetStringChainable
static TimeOffset forOffsetStringChainable(const char *&offsetString)
Variant of forOffsetString() that updates the string pointer to the next unprocessed character.
Definition: TimeOffset.cpp:41
ace_time::LocalDateTime::printTo
void printTo(Print &printer) const
Print LocalDateTime to 'printer' in ISO 8601 format.
Definition: LocalDateTime.cpp:14
ace_time::TimeOffset
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
ace_time::TimeOffset::printTo
void printTo(Print &printer) const
Print the human readable string.
Definition: TimeOffset.cpp:15
ace_time::OffsetDateTime::forDateStringChainable
static OffsetDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
Definition: OffsetDateTime.cpp:35
ace_time::OffsetDateTime
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
Definition: OffsetDateTime.h:33
ace_time::OffsetDateTime::forError
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
Definition: OffsetDateTime.h:146
ace_time::LocalDateTime::forDateStringChainable
static LocalDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
Definition: LocalDateTime.cpp:46
ace_time::OffsetDateTime::isError
bool isError() const
Return true if any component indicates an error condition.
Definition: OffsetDateTime.h:154