On 20 Jun., 11:30, Jakob Bøhm <j...@danware.dk> wrote:
> Christian B. Andresen wrote:
> > Hej allesammen.
>
> > Jeg har brug for en rutine i C som tæller baglæns dag for dag.
> > Den skal selvfølgelig kunne tælle rigtigt, både de måneder med
> > 30 og 31 dage og februar rigtigt om der er skudår eller ej.
>
> > Findes der en snedig måde at gøre dette på ?
>
> Den letteste løsning er at bruge en biblioteksfunktion som omregner
> mellem vores sære kalender og et rent tal, det tal kan du så tælle op og
> ned så let som ingenting og bagefter bruge den modsatte
> biblioteksfunktion til at få resultatet som en dato.
>
> Der er mange af den slags funktioner i omløb, men funktionerne i
> <time.h> kan sagtens klare det og er en del af alle moderne C og C++
> compilere.
Det vil jeg se om jeg har til den compiler jge bruger. Det er en ældre
TopSpeed compiler til EPOC.
> Disse funktioner omregner til og fra taltypen time_t som tæller i
> sekunder, hvis du ikke skal bruge klokkeslettet kan du bare sætte det
> til kl. 12:00 middag for færrest afrundingsfejl.
Det skal jeg ikke.
> Bemærk dog følgende begrænsninger:
>
> På mange 32-bit maskiner virker funktionerne kun rigtigt fra
> 1970-01-01T00:00:00 UTC til engang i 2038, da de bruger en signed 32 bit
> (dvs. reelt kun 31 bit) sekundtæller. Visual Studio 2005 er dog gået
> over til en 63 bit tæller, men Visual Studio 6 fra 1998 brugte 31 bit.
> På Linux er time_t 63 bit på 64 bit Linux, men 31 bit på 32 bit Linux.
Det er en 16 bit maskine, med en ældre compiler.
Det betyder ikke noget med 2038 fejl, da jeg ved med sikkerhed at
produktet er erstattet længe inden.
> I ældre DOS/OS2/Windows-compilere (herunder Visual Studio 6 og Borland C
> 5.2) bruges noget meget upålidelig kode til håndtering af tidszoner og
> sommertid, for rene datoberegninger kan dette omgås ved kun at bruge de
> funktioner der hedder noget med GMT.
Tror jeg ikke er et poblem.
> På gamle Mac-systemer går der rygter om at time_t blev regnet fra en
> anden dato end 1970-01-01.
Er ikke relevant.
--
Christian......
http://www.yee-haw.dk - Ønskes:
- En ny forbindelse over Randers Fjord
- Udvidelse af E 45 motorvejen mellem Randers og Kolding til seks spor
- En fast forbindelse over Kattegat til hurtigtog og biler