Convertendo uma data em uma string

Arduino:
Convertendo uma data em uma string

Como Fazer:

#include <Wire.h>
#include <RTClib.h>

RTC_DS3231 rtc;

void setup() {
  Serial.begin(9600);
  if (!rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
}

void loop() {
  DateTime now = rtc.now();

  char dateString[20];
  snprintf(dateString, sizeof(dateString), "%02d/%02d/%04d %02d:%02d:%02d", now.day(), now.month(), now.year(), now.hour(), now.minute(), now.second());

  Serial.println(dateString);
  delay(1000);
}

Saída de exemplo: 23/03/2023 15:45:07

Aprofundamento

Converter datas para strings não é novidade. No passado, diversas funções como sprintf() ou bibliotecas como RTClib são utilizadas para formatar esses dados. Existem alternativas como String() ou uso de strings literais com operadores de concatenação, mas cuidado com o uso excessivo de memória e fragmentação. O snprintf() é uma escolha eficiente, pois você controla o tamanho do buffer e evita overflow.

Veja Também:

Lembrando que os links acima estão em inglês. Para informações adicionais em português, busque em fóruns brasileiros e portugueses de Arduino ou confira a documentação oficial traduzida quando disponível.