Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: Wandlung time_t zu char

  1. #1
    Registriert seit
    05.04.2009
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich möchte in einem C-Script in WinCC den Mittelwert zwischen zwei Datumsstrings ermitteln und ausgeben.
    Dazu habe ich zwei Datumstrings (Startzeit und Endzeit) so formatiert, dass die Funktion mktime damit zurecht kam. Dann habe ich die daraus resultierenden time_t-Werte von einander abgezogen und die Hälfte wieder auf den Startwert aufgeschlagen. Bis dahin ist alles ok. Jetzt muss ich aber den errechneten long-Wert wieder zum String machen. Und da liegt das Problem. Ich kriege den Rechenwert nicht in die Funktion gmtime (soll Umkehrfunktion zu mktime sein) hinein. Weiss jemand,wie es geht?

    Gruß Ingo
    Zitieren Zitieren Wandlung time_t zu char  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Meinst du sowas?
    Code:
    char buf[80];
    time_t t;
    struct tm *mt;
    
    t = 441763200L; /* Beispiel: 1.1.1984 00:00:00 */
    mt = gmtime(&t);
    strftime(buf, sizeof(buf), "%d.%m.%Y %H:%M:%S", mt); /* 01.01.1984 00:00:00 */
    Den Formatstring kannst du dir nach deinen Wünschen anpassen.

  3. #3
    I--Roth ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.04.2009
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Thomas,

    ja,vielen Dank für die prompte Hilfe!

    Ich habe mein und Dein Script mal kombiniert und festgestellt, dass 2 Stunden unterschied bestehen. Liegt das an der Sommerzeit und daran, dass gmtime die Greenwich-Zeit herausgibt?
    Wenn ich nun einen Offset dazugebe, habe ich jetzt die richtige Zeit erreicht. Weisst Du, was mit dem Rechenwert passiert, wenn wieder Winterzeit ist? Liege ich mit einem Offset dann nicht um eine Stunde daneben?

    Gruß Ingo

  4. #4
    I--Roth ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.04.2009
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Thomas,

    ich habe es mit localtime nochmalausprobiert und habe jetzt den "richtigen" Datum und Zeitwert erhalten!

    Vielen Dank nochmal!

    Gruß Ingo

Ähnliche Themen

  1. Wandlung Real zu Int
    Von GerhardPtl im Forum Simatic
    Antworten: 46
    Letzter Beitrag: 07.03.2011, 14:24
  2. S7-200 - Wandlung Dezimalzahl nach Hex
    Von smartie im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 05.05.2009, 13:36
  3. Wandlung Zahlenwerte
    Von Martin L. im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 10.04.2009, 20:05
  4. Wandlung von Real => INT
    Von Heinz im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 29.07.2005, 12:33
  5. Wandlung WSCAD -> Eplan
    Von PeterEF im Forum E-CAD
    Antworten: 12
    Letzter Beitrag: 25.01.2005, 22:06

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •