Datum und Zeit in Variablen speichern

gl4di4t0r

Mitglied
Hi
ich benötige eine Funktion zum auslesen des aktuellen Datums und der Zeit und möchte diese dann folgendermaßen formatiert in einen string legen.
z.B.:
string datum = "TAG_MONAT_JAHR-STUNDE_MINUTE_SEKUNDE";

Wenn möglich bitte mit einem Beispiel Code.

gruß gl4di4t0r


P.S.: Ich habe shcon die MS VISUAL Studio Help ausgepackt und mal gestöbert (ztime.h) bin damit aber nciht zurecht gekommen. (Hab ca 30Min daran "rumgefriemelt" um zu dem ergebnis zu kommen, dass die Beispiele in der Hilfe net so richtig funktionieren -.- )
 
Ich bin mir zwar nicht ganz sicher ob es Ansi ist und daher unter Win funktioniert.

Die Funtion time_t time(time_t *t) gibt dir die aktuelle Zeit in Sekunden seit 1.1.1970 (glaub ich) zurück. Der Datentyü time_t läßt sich nun mit allerlei Funktionen umwandeln z.B. struct tm *localtime(const time_t *t). Aus dem struct tm kannst du dir alle möglichen Informationen raus holen.


struct tm
int tm_sec;Sekunden (0-59)
int tm_min;Minuten (0-59)
int tm_hour;Stunden (0-23)
int tm_mday;Monatstag (1-31)
int tm_mon;Monate (0-11) (Januar = 0)
int tm_year;ab 1900
int tm_wday;Tag seit Sonntag (0-6) (Sonntag =0)
int tm_yday;Tag seit 1. Januar (0-365) (1.Januar =0)
int tm_isdst;Sommerzeit (tm_isdst > 0) Winterzeit (tm_istdst == 0) nicht verfügbar (tm_isdst < 0)

und das schreibst du dir dann einfach mit sprintf() in einen String und es passt.

Gruß Lemiras

p.S. Es gibt auch Funktionen die die Informationen direkt in einen String schreiben. z.B. strftime() (formatiert) oder asctime() und ctime (unformatiert)
 
Zuletzt bearbeitet:
Ja, genau das hatte ich auch gefunden - nur hat es nicht geklappt. :confused:
Kannst du bitte so nett sein und mir ein kleinen Beispielcode posten?
Ich blick da net durch, zumal ich die englische Erklärung in der Hilfe net verstehe.

gruß gl4di4t0r
 
Klar in dem Code wird das Strukt dazu verwendet das anmeldedatum in einen String zu schreiben:

Code:
  #include<stdio.h>
   #include<time.h>
   
   int main(void){
    struct tm *ltime;
    time_t ttime;
   
    time(&ttime);
    ltime = localtime(&ttime);
   
   
    printf(ctime(&ttime));
    printf(asctime(ltime));
   
    printf("%d.%d;%d:%d:%d\n",\
     ltime->tm_mday,ltime->tm_mon+1, ltime->tm_hour,\
     ltime->tm_min,ltime->tm_sec);
   
   ltime = gmtime(&ttime);
   
    printf("%d.%d;%d:%d:%d\n",\
      ltime->tm_mday,ltime->tm_mon+1, ltime->tm_hour,\
      ltime->tm_min,ltime->tm_sec);
    return 0;
   }

Funktionen die du dir auch noch anschauen kannst sind z.B. ctime oder char* asctime(const truct tm *tm)
 
Zuletzt bearbeitet:
Zurück