Added two new methods to return Date and Time as a struct and get formatted Date Time string with a given format
This commit is contained in:
parent
894b21de11
commit
68658309b1
@ -145,6 +145,23 @@ int NTPClient::getSeconds() const {
|
||||
return (this->getEpochTime() % 60);
|
||||
}
|
||||
|
||||
DateTime NTPClient::getDateTime() const {
|
||||
struct tm * ts;
|
||||
time_t rawTime = this->getEpochTime();
|
||||
ts = localtime(&rawTime);
|
||||
DateTime dt = {ts->tm_sec, ts->tm_min, ts->tm_hour, ts->tm_mday, (ts->tm_mon + 1), (ts->tm_year + 1900)};
|
||||
return dt;
|
||||
}
|
||||
|
||||
String NTPClient::formatDateTime(const char* fmt) const {
|
||||
struct tm * ts;
|
||||
time_t rawTime = this->getEpochTime();
|
||||
ts = localtime(&rawTime);
|
||||
char buf[64];
|
||||
strftime(buf, sizeof(buf), fmt, ts);
|
||||
return String(buf);
|
||||
}
|
||||
|
||||
String NTPClient::getFormattedTime() const {
|
||||
unsigned long rawTime = this->getEpochTime();
|
||||
unsigned long hours = (rawTime % 86400L) / 3600;
|
||||
|
21
NTPClient.h
21
NTPClient.h
@ -3,11 +3,21 @@
|
||||
#include "Arduino.h"
|
||||
|
||||
#include <Udp.h>
|
||||
#include <time.h>
|
||||
|
||||
#define SEVENZYYEARS 2208988800UL
|
||||
#define NTP_PACKET_SIZE 48
|
||||
#define NTP_DEFAULT_LOCAL_PORT 1337
|
||||
|
||||
struct DateTime {
|
||||
int dt_seconds;
|
||||
int dt_minutes;
|
||||
int dt_hours;
|
||||
int dt_date;
|
||||
int dt_month;
|
||||
int dt_year;
|
||||
};
|
||||
|
||||
class NTPClient {
|
||||
private:
|
||||
UDP* _udp;
|
||||
@ -74,6 +84,17 @@ class NTPClient {
|
||||
int getMinutes() const;
|
||||
int getSeconds() const;
|
||||
|
||||
/**
|
||||
* Get date time as a astuct which contains
|
||||
* Year, Month, Date, Hours, Minutes, Seconds
|
||||
*/
|
||||
DateTime getDateTime() const;
|
||||
|
||||
/**
|
||||
* Format the date time to a string with a given format (Ex: %Y/%m/%d %H:%M:%S)
|
||||
*/
|
||||
String formatDateTime(const char* fmt) const;
|
||||
|
||||
/**
|
||||
* Changes the time offset. Useful for changing timezones dynamically
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user