/* datum.c compile : gcc datum.c -o datum */ #include #include #include #include /* Zwischenpuffergroesse */ #define PGR 256 int main (void) { char * Wochentag[8] = { "Sonntag" , "Montag", "Dienstag" , "Mittwoch" , "Donnerstag", "Freitag" , "Samstag" , "???" }; char puffer[PGR]; time_t utc; struct tm * lokalzeit; struct tm * utczeit2; int wota; struct tm utczeit; /* aktuelles Datum und Zeit holen */ utc = time (NULL); /* time (&utc); */ /* Umwandeln in UTC Vorsicht ! ueberschreibt den wert deshalb eine Kopie anfertigen */ utczeit2 = gmtime(&utc); memcpy (&utczeit, gmtime(&utc), sizeof utczeit); /* Umwandeln in lokale Zeit */ lokalzeit = localtime (&utc); /* testweise Ausgabe des Wochentags */ /* 0 = Sonntag, 1 = Montag, 6 = Samstag */ /* wota = lokalzeit->tm_wday; strcpy (puffer, Wochentag[wota]); strcat (puffer, "\n"); fputs (puffer, stdout); */ /* Datum und Uhrzeit im gewuenschten Format ausgeben YYYY-MM-TT_SS:MM:SS Format-String: "%Y-%m-%d_%H:%M:%S\n" */ /* UTC ausgeben */ /* printf("UTC : %s", asctime(&utczeit) ); strftime (puffer, PGR, "%Y-%m-%d_%H:%M:%S\n", &utczeit); fputs (puffer, stdout); */ /* Lokale Zeit ausgeben */ /* strftime (puffer, PGR, "%Y-%m-%d_%H:%M:%S\n", lokalzeit); fputs (puffer, stdout); */ /* Fuer CLLOG-Datensicherung genuegt nur das Datum */ strftime (puffer, PGR, "%Y-%m-%d\n", lokalzeit); fputs (puffer, stdout); /* Beispiele fuer Standard-Ausgaben (US-Darstellung) strftime (puffer, PGR, "Heute ist %A, %B %d.\n", lokalzeit); fputs (puffer, stdout); strftime (puffer, PGR, "Zeit (US-Darstellung) %I:%M %p.\n", lokalzeit); fputs (puffer, stdout); */ return 0; }