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);
|
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 {
|
String NTPClient::getFormattedTime() const {
|
||||||
unsigned long rawTime = this->getEpochTime();
|
unsigned long rawTime = this->getEpochTime();
|
||||||
unsigned long hours = (rawTime % 86400L) / 3600;
|
unsigned long hours = (rawTime % 86400L) / 3600;
|
||||||
|
21
NTPClient.h
21
NTPClient.h
@ -3,11 +3,21 @@
|
|||||||
#include "Arduino.h"
|
#include "Arduino.h"
|
||||||
|
|
||||||
#include <Udp.h>
|
#include <Udp.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
#define SEVENZYYEARS 2208988800UL
|
#define SEVENZYYEARS 2208988800UL
|
||||||
#define NTP_PACKET_SIZE 48
|
#define NTP_PACKET_SIZE 48
|
||||||
#define NTP_DEFAULT_LOCAL_PORT 1337
|
#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 {
|
class NTPClient {
|
||||||
private:
|
private:
|
||||||
UDP* _udp;
|
UDP* _udp;
|
||||||
@ -74,6 +84,17 @@ class NTPClient {
|
|||||||
int getMinutes() const;
|
int getMinutes() const;
|
||||||
int getSeconds() 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
|
* Changes the time offset. Useful for changing timezones dynamically
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user