Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi leute könnte mir jemand von euch sagen wie ich in C das aktuelle Datum ausgeben kann?

Die Zeit kann ich ja schon ausgeben aber das Datum noch nicht!Muss man es auch mit #include<time.h> machen!

Geschrieben

Hallo,

Du mußt dafür die time.h includieren.


time_t timer;
struct tm *tblock;
/* Erhält die Tageszeit */
timer = time(NULL);
/* Wandelt Datum und Zeit in eine Struktur um */
tblock = localtime(&timer);

char buf[30];
sprintf(buf,"%04d%02d%02d%02d%02d%02d",tblock->tm_year+1900,tblock->tm_mon+1,tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
[/code]

Frank

Geschrieben

Hallo,

Hallo,

Du mußt dafür die time.h includieren.


  sprintf(buf,"%04d%02d%02d%02d%02d%02d",tblock->tm_year+1900,tblock->tm_mon+1,tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);

Frank

Zur Konvertierung eines "struct tm *" sollte man besser auf strftime() zurückgreifen, von Hause aus eine Unmenge an Formaten bietet und man sich die strings nicht mit sprintf() zusammenbasteln muss.

Nic

Geschrieben

Hab da schon einmal eine Lösung gefunden!Kann sie aber nicht so richtig verstehen kann sie mir einer von euch vielleicht erklären?

#include <stdio.h> /* puts, size_t */

#include <time.h> /* strftime, time_t, localtime */

#include <locale.h> /* setlocale, LC_ALL */

#define SIZE 128

static void print( time_t const date )

{ char buff[ SIZE ];

if( strftime( buff, SIZE, "%A %x", localtime( &date )))

puts( buff );

getchar();

}

#undef SIZE

int main( void ){ time_t const date = time( 0 );

setlocale( LC_ALL, "" );

if( date !=( time_t )-1 )print( date );

}

Geschrieben

Hallo,

das gibts eigentlich nicht viel zu erklären. strftime() arbeitet - ähnlich wie printf - mit Format-Strings. %A steht dabei für den Namen des Wochentags, %x für das Datum bezogen auf die gesetzte locale. Ein komplette Beschreibung der Format-Strings findest Du in der entsprechende Manual-Page.

Nic

Geschrieben
Hallo,

das gibts eigentlich nicht viel zu erklären. strftime() arbeitet - ähnlich wie printf - mit Format-Strings. %A steht dabei für den Namen des Wochentags, %x für das Datum bezogen auf die gesetzte locale. Ein komplette Beschreibung der Format-Strings findest Du in der entsprechende Manual-Page.

Nic

Kannst du vielleicht mal die einfachste Lösung posten,wie man das datum ausgibt!Hab noch nie mit der strftime() gearbeitet und weiß nicht wie man sie richtig anwendet! ;)

  • 2 Jahre später...
Geschrieben
Kannst du vielleicht mal die einfachste Lösung posten,wie man das datum ausgibt!Hab noch nie mit der strftime() gearbeitet und weiß nicht wie man sie richtig anwendet! ;)

Also ganz einfach ne :)


#include <time.h>

#include <iostream>


int main()

{

 time_t timeNow;

 tm *heute; //macht einen zeiger auf das struct tm in dem Informationen 

                 // ueber zeit datum und so drinstehen

  timeNow = time(0);

 heute = localtime(&timeNow); // mit localtime() gibt man heute die   

                                         // Informationen ueber das datum umgerechnet 

                                        // zurueck


 tagHeute = heute->tm_mday; //die variable tm->mday gibt den heutigen  

                                             // tag zurueck

 monatHeute = heute->tm_mon+1; //gibt das heutige monat -1 zurueck 

                                                    // deswegen +1

 jahrHeute = heute->tm_year+1990; //gibt das datum zurueck


 std::cout << "Datum: " << tagHeute << "." << monatHeute << "." << jahrHeute << std::endl;

 //std::cout ist in der iostream library <iostream> man kann natürlich auch 

// printf benutzen

Geschrieben
Ja hab da noch mal gleich ne Zusatzfrage!Ist es möglich das ausgelesene Datum mit einem eingegebenen Datum zu vergleichen?

Was heißt vergleichen. Meinst welches das älter ist von den zwei Datumen.

Das ist nämlich nicht so schwer die zu vergleichen.

Funktion dazu:

int datum_vergleich(int tag, int monat, int jahr, int tagVergl, int monatVergl, int jahrVergl)

{

if(jahr < jahrVergl)

return 0; // das datum ist nicht groeßer als das zu vergleichende

elseif(jahr == jahr Vergl) //wenn das jahr gleich ist das monat ueberpruefen

{

if(monat < monatVergl)

return 0; //das datum ist nicht groeßer als das zu vergleichende

elseif(monat == monatVergl) //wenn das monat auch = ist, tag vergleichen

{

if(tag < tagVergl)

return 0;

elseif(tag == tagVergl)

return 2; //datum ist gleich

}

}

return 1; //das datum ist größer als das zu vergleichende datum

}

Geschrieben

Was heißt vergleichen. Meinst welches das älter ist von den zwei Datumen.

Das ist nämlich nicht so schwer die zu vergleichen.

Funktion dazu:


int datum_vergleich(int tag, int monat, int jahr, int tagVergl, int monatVergl, int jahrVergl)

{

 if(jahr < jahrVergl)

     return 0; // das datum ist nicht groeßer als das zu vergleichende

 elseif(jahr == jahr Vergl) //wenn das jahr gleich ist das monat ueberpruefen

 {

   if(monat < monatVergl) 

       return 0; //das datum ist nicht groeßer als das zu vergleichende

   elseif(monat == monatVergl) //wenn das monat auch = ist, tag vergleichen

   {

     if(tag < tagVergl)

      return 0;

     elseif(tag == tagVergl)

      return 2; //datum ist gleich

   }

  }

  return 1; //das datum ist größer als das zu vergleichende datum

}

BIttesehr

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...