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.
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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
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.
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;
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;
30. oktober 2002 - 22:28
#5
char string_aar[2]; sprintf(string_aar,"%i", aar);
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);
Kurser inden for grundlæggende programmering