Ntp org ricavare data nella forma aaaa-mm-gg e ora nella forma hh:mm:ss

Buonasera usando la libreria ntporg non riesco a ricevere la data nella forma aaaa-mm-gg , con il codice println riesco a stamparla, ma se sotituisco al println un campo string mi va in errore. allego il codice.Grazie a tutti.

void printLocalTime(){
struct tm timeinfo;
if(!getLocalTime(&timeinfo)){
Serial.println("Failed to obtain time");
return;
}
Serial.println(&timeinfo, "%F, %T, %A, %B %d %Y %H:%M:%S");
Serial.print("Data nella forma aaaa-mm-gg: "); // paolo
Serial.println(&timeinfo, "%F");

Metti il programma tra i giusti tag
E poi dimmi che errore ti da

Non ho idea di cosa hai provato, ma non puoi usare la stringa di formattazione del tempo con la classe String di Arduino.

Presumo tu stia usando un ESP32...
L'istruzione Serial.print(&timeinfo, "%F, %T, %A, %B %d %Y %H:%M:%S"); (e l'equivalente println) in realtà esegue questo codice:

size_t Print::print(struct tm *timeinfo, const char *format) {
  const char *f = format;
  if (!f) {
    f = "%c";
  }
  char buf[64];
  size_t written = strftime(buf, 64, f, timeinfo);
  if (written == 0) {
    return written;
  }
  return print(buf);
}

Devi approfondire l'utilizzo dell'istruzione C/C++
size_t strftime (char* ptr, size_t maxsize, const char* format, const struct tm* timeptr) ed imparare a gestire le C string (nota la s minuscola) ovvero gli array di char.

Guarda l'esempio presente ad esempio a questo link che fa riferimento all'istruzione strftime.

@Pdecaro:

... fosse anche per una sola riga, come richiesto al punto 7 del REGOLAMENTO, il codice va racchiuso tra i tag CODE, per cui, cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona <code/> nella barra degli strumenti per contrassegnarla come codice. Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac, sempre all'interno del IDE).

Grazie,

Guglielmo

Che non sembra il suo caso, comunque

In quel codice i problemi, se ci sono, sono altri

Se la prima stampa formattata va deve andare anche la seconda, è semplice C correttamente adoperato

Comunque prima di procedere oltre aspetto che OP faccia il suo

Esatto, ma compreso inserire i tag al codice, come richiesto da Guglielmo (e dal regolamento)...

È quello 'il suo'