Zeit als Int

Nabend allerseits…

ich möchte gern die aktuelle Zeit in C++ auslesen, und zwar so, dass mir stunden, minuten und sekunden als int zur Verfügung stehen.

Alles was ich finde, ist wie ich sie direkt als string ausgeben kann, oder aber als Bruch, also float… ich will aber die original-sekunde in eine int-variable schicken ohne lange zu casten.

Vielen Dank!

Hallo,

gettimeofday könnte dir helfen, eventuell auch einfach time():
http://manpages.ubuntu.com/manpages/jaunty/man2/sett…
http://manpages.ubuntu.com/manpages/jaunty/man2/time…

Grüße,
Moritz

Okay, doch wenn ich das richtig sehe, dann muss bei beiden Varianten, die Sekunden seit 1970 wegrechnen, d.h. entweder abziehen oder aber diese irrsinnig große zahl sinnvoll teilen.

Existiert keine einfachere Methode?

Hallo !

Das geht ganz einfach:

#include 

time\_t tTime;
struct tm \*xTime;
int iHour;
int iMinute;
int iSecond;

tTime = time(NULL);
if ((xTime = localtime(&tTime)) == NULL)
 return false; // error !
iHour = xTime-\>tm\_hour;
iMinute = xTime-\>tm\_min;
iSecond = xTime-\>tm\_sec;

mfg
Christof