Beginn und Ende eines Monats der Unixtime herausfinden
-
Hallo C-Community,
ich möchte eine Funktion schreiben, welcher als Argument ein Datum in Form der Unix Time übergeben wird, zum Beispiel: "1298229965", also der 20 Februar 2011.
Die Funktion soll dann den ersten und den letzten Tag des Monats angeben, in diesem Fall den 01.02.2011 und den 28.02.2011.
Da ich mit C recht wenig Erfahrung habe würde ich mich über Inspirationen sehr freuen.
Mit besten Grüßen
Jan
-
Schau dir mal die Funktionen von <time.h> an, insbesondere mktime.
http://www.cplusplus.com/reference/clibrary/ctime/
-
http://www.cplusplus.com/reference/clibrary/ctime/
Inspiration genug?
Mit localtime kannst du herausfinden, welches Datum ist. Du müsstest dir dann ein passendes
struct tm
basteln und dann bekommst du mit mktime wieder die Unix-Zeit. Das mktime versteht soweit ich mich erinnere auch Überläufe, du könntest zum Beispiel den Monat im struct tm um 1 erhöhen und den Tag auf -1 setzen. So bekommst du keine Probleme mit Schaltjahren. Probier das aber lieber erst einmal aus, ob das auch wirklich stimmt. Alternativ kannst du auch vom ersten des nächsten Monats 24 Stunden abziehen.
-
Das hilft mir weiter!
Vielen Dank für die schnellen Antworten!
LG
Jan