Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zeit auslesen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.07.2003, 09:28 Uhr
~Maike
Gast


Hallo,

kann mir einer verraten wie ich in C++ die aktuelle Zeit auslesen kann ? Einen kompletten Datumsstring mit Datum Zeit und allem drum und dran kann ich mittels time_t erzeugen und auslesen, aber ich möchte eben ledigl. die aktuelle Zeit haben...klar ich kann den String auseinanderdröseln, aber cih gehe mal davon aus, dass es da eine einfachere Methode gibt...oder ?

Dankeschön schon mal im voraus,

Maike
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.07.2003, 21:03 Uhr
Hans
Library Walker
(Operator)


Hi,

sieh Dir doch mal an, was sich in der <time.h> noch so alles befindet. Da findest Du unter anderem die Funktion *localtime(); - Dazu steht in der onlinehilfe vom Borland C++ Buzilder u.a.

Syntax
Code:
#include <time.h>
struct tm *localtime(const time_t *timer);
Beschreibung

Konvertiert Datum und Uhrzeit in eine Struktur des Typs tm.
localtime übernimmt die Adresse eines Wertes, der durch time geliefert wird, und gibt einen Zeiger auf die Struktur des Typs tm zurück, die die umgerechneten Zeitangaben enthält. localtime berücksichtigt hierbei Zeitzonen und die Sommerzeit.


Ich denke, dass ist das, was Du suchst,
Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 18.07.2003 um 21:04 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.07.2003, 00:44 Uhr
0xdeadbeef
Gott
(Operator)


Im Endeffekt sähe die Anwendung dann so aus:

C++:
struct tm *meine_zeit;
meine_zeit = localtime(time(0));

/*...*/

free(meine_zeit); /* Nicht vergessen, den Speicher freizugeben */


Besser wäre aber noch

C++:
struct tm meine_zeit;
localtime_r(time(0), &meine_zeit);


Weil da meine_zeit eine lokale Variable ist, die automatisch wieder freigegeben wird, und man direkt ein struct tm, und keinen Zeiger darauf hat. Die Funktion ist allerdings POSIX und wurde erst 99 in den ISO-Standard aufgenommen, den noch nicht alle Compiler unterstützen. Ich bin also nicht sicher, ob es die Funktion auch unter nicht-posix-konformen Systemen (namentlich Wind0ze) gibt, in dem Fall würde ich es einfach ausprobieren.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.07.2003, 17:44 Uhr
~Oh Mann
Gast


@0xdeadbeef
Bitte manuals lesen: localtime gibt nen static Pointer zurück; dh das free endet gezwngenermassen im Nirvana. localtime_r und ANSI? - Na ich weiß ja nicht!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.07.2003, 17:58 Uhr
0xdeadbeef
Gott
(Operator)


Was das mit dem statischen Pointer angeht, ok, da hab ich mich geirrt. Allerdings hab ich nicht behauptet, dass localtime_r ANSI wäre:

Zitat:
0xdeadbeef postete
(...) Die Funktion ist allerdings POSIX (...)


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 20.07.2003 um 17:59 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: