Connect to a NTP server
Go to file
tickelton e4d04dd53c Adds support for fractional seconds
* Rebases WhymustIhaveaname:master to arduino-libraries:master.
* Fixes issues with Spell Check action.
* Fixes HiRes example compilation.
* Refactors HiRes example to be more idiomatic as compared to the
  existing examples.
* Fixes several line ending and white space inconsistencies.
2021-05-26 21:07:45 +02:00
.github Adjust CI workflow for flat library layout 2021-05-18 21:33:14 -07:00
examples Adds support for fractional seconds 2021-05-26 21:07:45 +02:00
.codespellrc Add CI workflow to check for commonly misspelled words 2021-04-12 00:13:30 -07:00
CHANGELOG Update CHANGELOG 2016-05-31 16:33:15 -04:00
keywords.txt Update keywords.txt 2019-05-23 15:42:09 +02:00
library.properties Releasing v3.2.0 2019-09-18 10:01:20 +02:00
NTPClient.cpp Adds support for fractional seconds 2021-05-26 21:07:45 +02:00
NTPClient.h Adds support for fractional seconds 2021-05-26 21:07:45 +02:00
README.md Add CI workflow to do Arduino project-specific linting 2021-04-12 00:13:30 -07:00

NTPClient

Check Arduino status Compile Examples status Spell Check status

Connect to a NTP server, here is how:

#include <NTPClient.h>
// change next line to use with another board/shield
#include <ESP8266WiFi.h>
//#include <WiFi.h> // for WiFi shield
//#include <WiFi101.h> // for WiFi 101 shield or MKR1000
#include <WiFiUdp.h>

const char *ssid     = "<SSID>";
const char *password = "<PASSWORD>";

WiFiUDP ntpUDP;

// By default 'pool.ntp.org' is used with 60 seconds update interval and
// no offset
NTPClient timeClient(ntpUDP);

// You can specify the time server pool and the offset, (in seconds)
// additionally you can specify the update interval (in milliseconds).
// NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 3600, 60000);

void setup(){
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  while ( WiFi.status() != WL_CONNECTED ) {
    delay ( 500 );
    Serial.print ( "." );
  }

  timeClient.begin();
}

void loop() {
  timeClient.update();

  Serial.println(timeClient.getFormattedTime());

  delay(1000);
}

Function documentation

getEpochTime returns the Unix epoch, which are the seconds elapsed since 00:00:00 UTC on 1 January 1970 (leap seconds are ignored, every day is treated as having 86400 seconds). Attention: If you have set a time offset this time offset will be added to your epoch timestamp.