Datum rausfinden
-
wie vorher ?
-
Ehm sollte eigtl. einfaches vergleichen von std::time_t-Variablen möglich sein. Sonst einfach operator > für std::tm überladen. Da dann erst Jahr, dann Monat, dann Tag, dann Minute und am Schluss Sekunde vergleichen.
-
Normalerweise lässt du dir eine time_t Variable füllen, die du einfach vergleichen kannst. Diese ist normalerweise einfach ein Integer mit der Unix Time (Sekunden seit 1970).
Die kannst du dann problemlos vergleichen.Ob das auch mit tm Objekten geht, wage ich zu bezweifeln, weiß es aber nicht genau...
-
ok wäre vieleicht einer so nett und könnte mir erklären wie ich es ausrechnen kann(zeit seit 13.04.07) und das dann mit einem anderen datum vergleichen kann, weil ich steh da gerade tierisch aufem schlauch?
-
In welcher Form hast du die Zeitangaben denn vorliegen? Wenn du sie als Tag,Monat,Jahr hast - einfach in ein 'struct tm' einfüllen und einmal durch mktime() jagen.
-
also ja ich möchte es in dem format tt.mm.yyyy rausbekommen, wie geht das erstmal?
-
Ich wiederhole mich ja nur ungern, aber: In welcher Form hast du das Datum überhaupt vorliegen?
-
naja sorry, ich habe noch kein format vorliegen, daher wollte ich wissen wie ich mir das tt.mm.yyyy rausbekomme?
-
Firefighter schrieb:
daher wollte ich wissen wie ich mir das tt.mm.yyyy rausbekomme?
Das "tt.mm.yyyy" wovon willst du überhaupt herausbekommen?
-
Ich nehme mal an er will die aktuell Uhrzeit so ausgeben.
Hier mal ein Codeschnippsel wie es funktioniert:
char output[50]; time_t currentTime = time(NULL); //Zeit in Sekunden -> kann man vergleichen tm* timeinfo = localtime(currentTime); //Zeit in tm struct schreiben strftime(output, 50, "%d.%m.%Y", timeinfo); //Format wählen und in "output" schreiben lassenUnd wenn du die Zeit in einer anderen Art und Weise vorliegen hast (was CStoll eben wissen will), musst du umrechnen, bzw. die Funktionen von ctime nutzen: Info Link.
-
Hmm wie gesagt:
bool operator>(tm const& lhs, tm const& rhs) { return std::mktime(lhs) > std::mktime(rhs); }überladen und schon kannst du zwei tm-Strukturen problemlos vergeleichen.
std::time_t time(std::time(NULL)); std::tm* time_info(std::localtime(time)); char output[11]; std::strftime(output, 11, "%d.%m.%Y", time_info); std::cout << output << std::endl;um Sie in dem von dir gewünschten Format auszugeben.