Дата с NTP сервера - PullRequest
       20

Дата с NTP сервера

0 голосов
/ 12 марта 2020

Я использую NTP-сервер в своем коде Arduino и плате ESP8266. Я использую "Serial.println (timeClient.getFormattedTime ());" но функция печатает только время, а не дату (ДД-ММ-ГГГГ) и мне нужна дата ..

Это мой код:

#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     = "----------";
const char *password = "**********";

WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP);

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);
}

Спасибо

1 Ответ

0 голосов
/ 12 марта 2020

Если вы посмотрите на исходный код этой библиотеки, то увидите, что это все, что должна выводить функция getFormattedtime.

Я не вижу функции в этой библиотеке для даты. Мне кажется, что вам нужно получить время эпохи с помощью getEpochTime и рассчитать дату самостоятельно. В inte rnet должно быть много примеров того, как преобразовать время эпохи в дату.

В библиотеке времени есть функции для преобразования из unix времени в день месяца и год.

...