<ctime> und die Zeit



  • Hi,

    ich speichere bisher alle Datumsangaben in einem unsigned long ab. Läuft wunderbar!

    Doch nun gibt es ein Problem: Die <ctime> Funktionen zählen die Millisekunden von 01011970, doch wenn ich jetzt ein Datum habe sagen wir: 05051960 dann bekomme ich ein Problem.

    Wie kann ich das Problem beheben? 😕



  • Erstens: Die <ctime> Funktionen zählen die Sekunden (nicht Millisekunden) 😉

    Zweitens: Du kannst die Funktionen gmtime() bzw. mktime() verwenden, um zwischen dieser Sekundenangabe und einem aufgeschlüsselten Datumswert umzurechnen.

    Drittens: Wie äußert sich das "bekomme ein Problem"?



  • Er meint sicherlich, dass sein Datum vor dem 1.1.1970 liegt. Da ist das Problem.



  • Das lässt sich nur dadurch lösen, dass man eine eigene Darstellung für Zeit/Datum verwendet.



  • Bashar schrieb:

    Das lässt sich nur dadurch lösen, dass man eine eigene Darstellung für Zeit/Datum verwendet.

    Anders geht es nicht?! 😮



  • Was willst du machen?
    Wenn du die aktuelle Zeit anzeigen möchtest, dann brauchst kein Datum von 1960.
    Wenn du ein früheres Datum anzeigen möchtest, bringt dir die time() Funktion doch sowieso nichts, weil die immer die aktuelle Systemzeit angibt.



  • Boh ey, man kann sich das Leben auch schwer machen. Benutzt doch einfach die Boost Date-Time Library, da habt ihr alles was ihr braucht. Sogar einen String nach Date Konverter, oder ihr könnt sogar die Tage von einem Datum zu einem anderen Datum ausrechnen lassen. Achja, ganz einfache Sachen wie, ein Datum in deutscher Schreibweise anzeigen, geht natürlich auch.



  • ich denke meine frage passt hier sehr gut rein das hier ja auch um die uhrzeit und millisekunden geht.

    ich würde die ermittlung einer uhrzeit benötigen, welche auch die millisekunden ermittelt und das ganze unter linux (ohne boost)?
    da ja leider time.h die zeit nur sekundengenau zur verfügung stellt, weiß ich nun nicht was ich stattdesen für die millisekunden genaue ermittlung verwenden soll??
    danke für eure hilfe



  • Das hätte zwar IMHO besser in nen neuen Thread in Linux/Unix gepasst, aber gut:

    gettimeofday

    😉



  • danke!!


Anmelden zum Antworten