accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: ISO 8601 og beregning med måneder

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  dk.videnskab ] 

Retour : Accueil du site dk videnskab  


  Sujet:   Re: ISO 8601 og beregning med måneder  
 De: mich...@zedeler.dk (Michael Zedeler)
 Groupes: dk.videnskab
 Organisation: Tele2 Internet Kunde
 Date: 13. May 2008, 21:07:13
 References: 1
T wrote:
> Jeg har brug for lidt hjælp til datoberegniner. Specifikt gælder det 
> addition af måneder:
> 
> Hvad er 
> 
> 29/1 +1 måned (etc)
> 28/1 + 1 måned+1 dag (etc)
> 29/2 + 1 år
> 31/8 + 1 måned [..]
> ELLER at tage det nødvendige antal måneder i næste måned, som excel gør det
> =DATE(YEAR(D4);MONTH(D4)+1;DAY(D4))  = 01.10.
> 
> Hvad er "korrekt", er de begge, og hvad hedder så de forskellige standarder 
> ?  Jeg antager selv at den ene (excels) er baseret på absolute julian day 
> number, og derefter konverteret tilbage.
> 
> Jeg har ikke prøve Perl eller PHPs datomoduler endnu.

Som de andre svar indikerer er der ikke noget der er oplagt korrekt 
eller forkert, kun mere eller mindre hensigtsmæssige løsninger. 
Epoke-tidsstempler (også populært kaldet unix-timestamps) indeholder 
blot antal sekunder der er gået siden midnat 1970-01-01. Dermed er 
aritmetikken ret ligetil. Alle invariante enheder (såsom sekund, minut, 
time, dag og uge) er nemme at regne med og alle andre enheder (måned, 
ugenummer og år) er noget man er nødt til at bruge specielle 
konverteringsbiblioteker til. Dermed bliver det svært for en udvikler at 
  begå fejl fordi man forstår det bagvedliggende princip.

Den modsatte løsning er at bruge en slags datorepræsentation, hvor alle 
tider skrives som "yyyy-mm-dd HH:MM:ss" (modulo diverse andre formater 
og med den note at der ikke er tale om den interne repræsentation, men 
den som udvikleren anvender). Her er alle enheder nemme at regne med og 
udvikleren har igen nemt ved at forstå de underliggende principper. 
Omkostningen er en noget tungere syntaks og potentielt ugyldige datoer 
(f. eks. 2008-02-30), som fører til fejl.

Det værste du kan gøre er at sætte dig imellem to stole og beslutte at 
man altid lægger en måned til på en bestemt måde (se Kristians liste). 
Det kan kun føre til problemer, da udvikleren enten ikke forstår 
konsekvenserene eller blot får brug for noget andet.

Mvh. Michael.


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)