aktuelles Datum ermitteln



  • Hi Leutz,

    ich möchte gern das aktuelle Datum anzeigen lassen. Habe dazu folgendes gefunden. Blicke aber nicht ganz durch und würde auch gerne die Ausgabereihenfolge (im Moment Sat May 20 17:36:17 2000 ) verändern.
    Kann mir das vielleicht mal jemand erklären bzw. gibt es noch eine andere Möglichkeit, das Datum zu ermitteln???
    Ich möchte es später auch weiterverarbeiten können, also abfragen, ob das Datum von gestern in einer Datei steht!

    #include <stdio.h>
    #include <time.h>
    
    int main ()
    {
      time_t rawtime;
      struct tm * timeinfo;
    
      time ( &rawtime );
      timeinfo = localtime ( &rawtime );
      printf ( "Current date and time are: %s", asctime (timeinfo) );
    
      getchar();
    
      return 0;
    }
    

    thx



  • Schau dir mal den Aufbau von struct tm an. Damit kannst du dir dein Format selber zusammenschustern.



  • thx, aber wo und wie muss ich dass denn einbauen?



  • Naja, nachdem die Struktur gefüllt ist, setzt Du das ganze dahin, wo Du es hinhaben willst. Z.B. kannst Du Deinen printf-Aufruf durch diesen ersetzen, der die Daten aus der Struktur einzeln ausliesst:

    printf("Hours: %d, Minutes: %d, Seconds: %d\n", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
    


  • ok, so gehts! thx!!!
    Hast du vielleicht auch eine Idee, wie ich das Datum von Gestern ermitteln kann???



  • Ich bau es mal in deinen Beispielcode ein:

    #include <stdio.h>
    #include <time.h>
    
    int main ()
    {
      time_t rawtime;
      struct tm * timeinfo;
    
      time ( &rawtime );
      //Gestern
      rawtime -= 86400; //24 Stunden in Sekunden abziehen
      //Ende Gestern
      timeinfo = localtime ( &rawtime );
      printf ( "Current date and time are: %s", asctime (timeinfo) );
    
      getchar();
    
      return 0;
    }
    

Anmelden zum Antworten