INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
(&timeinfo, "%a %m.%b %Y ")
29.02.2020, 20:40
Beitrag #1
(&timeinfo, "%a %m.%b %Y ")
hallo !
//************************************************************
Serial.println(&timeinfo, "%a %m.%b %Y ")
// %a=Wochentag_kurz %b=Monat_kurz
// %a und %b umwandeln in String/int/long oder sonstwas
//damit ich sie abfragen und auf Deutsch ausgeben kann ????
//************************************************************

Code:
#include <WiFi.h>
#include "time.h"

const char* ssid       = "FRITZ!Box 7590 QN";
const char* password   = "48616805649954165281";

const char* ntpServer = "pool.ntp.org";
const long  gmtOffset_sec = 3600;
const int   daylightOffset_sec = 3600;
int lauf=0;
void printLocalTime()
{
  struct tm timeinfo;
  if(!getLocalTime(&timeinfo)){
    Serial.println("Zeit konnte nicht abgerufen werden");
    return;
  }
Serial.println(&timeinfo, "%a %m.%b %Y  Zeit: %H:%M:%S");
}

void setup()
{
  Serial.begin(115200);
   //connect to WiFi
  Serial.printf("Connecting to %s ", ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(".");
  }
  Serial.println(" CONNECTED");
  
  //init and get the time
  configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
  printLocalTime();

  //disconnect WiFi as it's no longer needed
  WiFi.disconnect(true);
  WiFi.mode(WIFI_OFF);

}
void Zeitholen()
{
    WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
      delay(500);

  }
  Serial.println(" Neue Zeit");
  
  //init and get the time
  configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
  printLocalTime();

  //disconnect WiFi as it's no longer needed
  WiFi.disconnect(true);
  WiFi.mode(WIFI_OFF);
}
void loop()
{
  delay(1000);
  struct tm timeinfo;
  getLocalTime(&timeinfo);
//*********************************************************************
Serial.println(&timeinfo, "%a %m.%b %Y  Zeit: %H:%M:%S");// %A, %B %d %Y %H:%M:%S
// %a=Wochentag_kurz %b=Monat_kurz
// %a und %b umwandeln in String/int/long oder sonstwas
//damit ich sie abfragen und auf Deutsch ausgeben kann ????                
//**********************************************************************
++lauf;  
if (lauf > 60) {// Alle Minute Zeit Updaten
lauf =0;
Zeitholen();
}
}

wwilhelm

Ich habe keine Ahnung aber davon jede Menge.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.02.2020, 20:50
Beitrag #2
RE: (&timeinfo, "%a %m.%b %Y ")
Ich glaube, da bringst Du einiges durcheinander.

Die Funktion heißt strftime und die benutzt Du überhaupt nicht.
Die kannst Du auch nicht einfach in println rein hängen, da die ihr Ergebnis in einem Puffer ablegt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.02.2020, 21:08
Beitrag #3
RE: (&timeinfo, "%a %m.%b %Y ")
(29.02.2020 20:50)Tommy56 schrieb:  Die kannst Du auch nicht einfach in println rein hängen, da die ihr Ergebnis in einem Puffer ablegt.

Beim Esp32 geht das.

(29.02.2020 20:40)wwilhelm schrieb:  include <WiFi.h>

Schon vergessen, es gibt ein Unterforum für den Esp?


strftime wurde schon genannt.
struct tm hast du doch im Sketch.

Beispiel Sketch


Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.02.2020, 21:08
Beitrag #4
RE: (&timeinfo, "%a %m.%b %Y ")
Falls es Dir um die deutschen Tage/Monate geht, Du hast in timeinfo alles drin.

Code:
struct tm timeinfo;
// timeinfo füllen


char *woTag(int num) {
const char tage[][3] {"So","Mo",...}
  return tage[num];
}
char *monat(int num) {
const char mon[][4] {"Jan","Feb",...}
  return mon[num];
}

// Anwendung
Serial.print("%s,%0d.%s.%d\n",woTag(timeinfo.tm_wday,timeinfo.tm_day,timeinfo.tm_mon,timeinfo.tm_year));

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.02.2020, 21:12 (Dieser Beitrag wurde zuletzt bearbeitet: 29.02.2020 21:15 von Tommy56.)
Beitrag #5
RE: (&timeinfo, "%a %m.%b %Y ")
(29.02.2020 21:08)Fips schrieb:  Beim Esp32 geht das.
Das ist der Nachteil, wenn man im falschen Unterforum und ohne Angabe des Prozessors postet.
Da haben die ESPler aber eine ungewöhnliche Erweiterung von print implementiert. Ich bin mir noch nicht mal sicher, dass die standardkonform ist.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.02.2020, 22:20
Beitrag #6
RE: (&timeinfo, "%a %m.%b %Y ")
(29.02.2020 21:08)Fips schrieb:  
(29.02.2020 20:50)Tommy56 schrieb:  Die kannst Du auch nicht einfach in println rein hängen, da die ihr Ergebnis in einem Puffer ablegt.

Beim Esp32 geht das.

(29.02.2020 20:40)wwilhelm schrieb:  include <WiFi.h>

Schon vergessen, es gibt ein Unterforum für den Esp?


strftime wurde schon genannt.
struct tm hast du doch im Sketch.

Beispiel Sketch


Gruß Fips
Hallo Fips
Beim Esp32 geht das.
Habe Esp32 und genau das Programm

Ich habe keine Ahnung aber davon jede Menge.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.02.2020, 22:25 (Dieser Beitrag wurde zuletzt bearbeitet: 29.02.2020 22:25 von Tommy56.)
Beitrag #7
RE: (&timeinfo, "%a %m.%b %Y ")
Wie die deutschen Monate/Tage gehen, habe ich Dir ja beschrieben.

@Mod: Bitte verschieben.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.02.2020, 22:29
Beitrag #8
RE: (&timeinfo, "%a %m.%b %Y ")
(29.02.2020 22:25)Tommy56 schrieb:  Wie die deutschen Monate/Tage gehen, habe ich Dir ja beschrieben.

@Mod: Bitte verschieben.

Gruß Tommy

Danke dir Tommy56

Ich habe keine Ahnung aber davon jede Menge.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste