Conversion String time unix to H:M:S

Bonjour , je cherche à convertir un temps unix en formats H:M:S
Existe t il une fonction pour cela ? Merci pour votre aide

les valeur sont obtenu depuis l interrogation d un json


String sunrise = jsonBuffer["sys"]["sunrise"];
Serial.println("test value sunrise = " + sunrise);


//exemple sunrise = 1694150747


Serial.println("heure = " + heure);
Serial.println("minute = " + minute);
Serial.println("seconde = " + seconde);



:wink:

#include "RTClib.h"

RTC_DS3231 rtc;

void setup () {
  Serial.begin(115200);

  if ( !rtc.begin() ) {
    Serial.println("Couldn't find RTC");
    Serial.flush();
    while (true);
  }
}

void loop () {
  printFormat1();
  printFormat2();
  delay(1000);
}

void printFormat1() {
  DateTime now = rtc.now();
  char buffer[30];
  sprintf(buffer, "%02d.%02d.%02d %02d:%02d:%02d\r\n", now.day(), now.month(), now.year(), now.hour(), now.minute(), now.second());
  for (byte d = 0; d < sizeof(buffer); d++)Serial.print(buffer[d]);
}

void printFormat2() {
  DateTime dateTime(F(__DATE__), F(__TIME__));
  char buffer[50] {"DDD, DD MMM YYYY hh:mm:ss"};
  Serial.println(dateTime.toString(buffer));
}

Bonsoir , je vous remercie pour vos exemples .
Je ne parviens pas a les faire fonctionner avec mes valeurs :smiling_face_with_tear:

Est il possible de passer une String pour ce genre de conversion ?
Merci pour votre patience

    String sunrise = jsonBuffer["sys"]["sunrise"];
    String sunset = jsonBuffer["sys"]["sunset"];
 
    Serial.println("test unix value sunrise = " + sunrise);
    /*
    stamp.getDateTime(sunrise);
    Serial.println(stamp.year);
    Serial.println(stamp.month);
    Serial.println(stamp.day);
    Serial.println(stamp.hour);
    Serial.println(stamp.minute);
    Serial.println(stamp.second);
    */
    Serial.println("test value sunset = " + sunset);

test unix value sunrise = 1694496616
test value sunset = 1694542364

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.