Avatar billede rellin Nybegynder
29. oktober 2002 - 23:25 Der er 6 kommentarer

Dato

Hvordan får jeg lagt det aktuelle årstal ind i en string?
Det gør ikke så meget om det bliver i formatet '2002' eller '02'.

Jeg bruger standard c.
Avatar billede dittmer Nybegynder
29. oktober 2002 - 23:48 #1
Du skal bruge <time.h>.

I den finder du funktionen time(), der returnerer en 'time_t' med den aktuelle tid.

Derefter benytter du localtime() til at få 'time_t' (en numerisk værdi) nedbrudt til felter i en 'struct tm'.

Endelig benytter du strftime() til at formattere din 'struct tm' til en streng vha. formatteringsstreng i stil med den du bruger i printf()...


Mvh
Søren
Avatar billede dittmer Nybegynder
29. oktober 2002 - 23:55 #2
Kaldene er

    time_t tid = time(NULL);

    struct tm *nedbrudt_tid = localtime(&tid);

    char[LENGTH] s;
    (void) strftime(s, LENGTH-1, "%y %Y", nedbrudt_tid);

Dette sidste kald giver dig indholdet "02 2002" i din resulterende streng.
Avatar billede hello2all Nybegynder
30. oktober 2002 - 22:25 #3
#include <time.h>

int aar;
struct tm *tm_ptr;
time_t the_time;

time(&the_time);
tm_ptr->gmtime(&the_time);

aar=tm_ptr->tm_year-100;
Avatar billede hello2all Nybegynder
30. oktober 2002 - 22:26 #4
det skulle virke.
det er dog en int du får men så må du copy den til et char array;
Avatar billede hello2all Nybegynder
30. oktober 2002 - 22:28 #5
char string_aar[2];
sprintf(string_aar,"%i", aar);
Avatar billede soepro Nybegynder
07. november 2002 - 13:58 #6
Under DOS også:

#include <time.h>

struct date toDay;
char  shortDate[9]; /* DD-MM-YY + chr(0) */
char  longDate[11]; /* DD-MM-YYYY + chr(0) */
getddate(&toDay);
sprintf(shortDate, "%02d-%02d-%02d", toDay.da_day, toDay.da_month, toDay.da_year % 100);
sprintf(longDate, "%02d-%02d-%04d", toDay.da_day, toDay.da_month, toDay.da_year);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester