mktime aus tm struct immer noch tm struct?
-
Hallo,
ich versuche mit time_t zu rechnen...
Habe es jetzt schon soweit geschaft tm struct zu erzeugen und wieder auszugeben.Jetzt soll der nächste Schritt sein, die difftime Funktion zu nutzen um Zeiten gegen zu rechnen.
Der tm struct...
time_t rawtime1; struct tm * zeit1; time ( &rawtime1 ); zeit1 = localtime ( &rawtime1 ); zeit1->tm_sec = StrToInt(Edit2->Text); // Sekunden nach voller Minute [0, 60] zeit1->tm_min = StrToInt(Edit3->Text); // Minuten nach voller Stunde [0, 59] zeit1->tm_hour = StrToInt(Edit1->Text); // Stunden seit Mitternacht [0, 23] zeit1->tm_mday = StrToInt(Edit4->Text); // Tag im Monat [1, 31] zeit1->tm_mon = StrToInt(Edit5->Text) -1; // Monate seit Januar [0, 11] zeit1->tm_year = StrToInt(Edit6->Text) - 1900; // Jahre seit 1900 zeit1->tm_isdst= -1; // nicht bekannt, ob Sommerzeit
hier umwandlung in time_t zeit...
mktime (zeit1);
Dann soll die Rechnung kommen...
double dif; dif = difftime (zeit1,zeit); Edit22->Text = dif;
Doch leider bringt er mir den Fehler
Konvertierung von 'tm * *' nach 'long' nicht möglich
Ich verstehe es nicht "mktime" soll doch aus dem tm struct wieder ein Rechenbaren time_t typ machen
Gehe ich das falsch an?
Danke für jegliche hilfewünsche was
-
Hallo
Warum benutzt du nicht TDateTime? Da würde das viel einfacher gehen.
Wenn du bei time_t bleiben willst, dann sollte diese Frage ins C-Forum verschoben werden.bis bald
akari
-
hawkdz schrieb:
hier umwandlung in time_t zeit...
mktime (zeit1);
Ist dir klar, dass das Ergebnis dieser Umwandlung der Rückgabewert von mktime ist? Dieser Aufruf ändert nicht auf magische Weise zeit1 in ein time_t.
-
die Gründe dafür sind der struct für SYSTEMTIME
und ich den Gedanken habe mit time_t einfacher in Sekunden zu rechnen...Hab da nicht viel gefunden was TDateTime in einfacher form in den SYSTEMTIME struct wandelt
-
ja war ja die Frage, also missverstehe ich die aussage
function mktime <ctime> time_t mktime ( struct tm * timeptr ); Convert tm structure to time_t
wäre ja mal wieder zu einfach ^^
-
jo mit TDateTime geht das echt mal viel einfacher, Danke!