/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
danske datoer
Fra : Bjoern Jensen


Dato : 30-08-01 13:20

Hej!
Jeg mangler en funktion som kan give det korrekte danske ugenr på baggrund
af en dato.
Såvidt jeg fandt frem til skal man være meget forsigtig med
engelske/amerikanske datoer, da ugen ikke starter om mandagen og ugenr ved
årskiftet også kan være forskelligt.

Mon jeg er så heldig at der er en derude som har tænkt og løst dette?
Hilsen
Bjørn



 
 
Kim Hansen (30-08-2001)
Kommentar
Fra : Kim Hansen


Dato : 30-08-01 14:00

"Bjoern Jensen" <bdj@stibo.net> writes:

> Hej!
> Jeg mangler en funktion som kan give det korrekte danske ugenr på baggrund
> af en dato.
> Såvidt jeg fandt frem til skal man være meget forsigtig med
> engelske/amerikanske datoer, da ugen ikke starter om mandagen og ugenr ved
> årskiftet også kan være forskelligt.
>
> Mon jeg er så heldig at der er en derude som har tænkt og løst dette?

kim@chips> perl -MDate::Calc=Week_Number -le 'print Week_Number(2000,1,9)'
1

Så Date::Calc kører med at det er den første torsdag i året der ligger
i uge 1, hvilket er dansk standard.

Modulet indeholder også funktionen Week_of_Year, den kan også bruges.

--
Kim Hansen

Lars Balker Rasmusse~ (30-08-2001)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 30-08-01 14:23

Kim Hansen <k@oek.dk> writes:
> Så Date::Calc kører med at det er den første torsdag i året der ligger
> i uge 1, hvilket er dansk standard.

% perl -MDate::Calc=Week_Number -le 'print Week_Number(2000,1,1)'
0

Men uge nul er forkert.

% perl -MUgenr -le 'print scalar ugenr 1,0,100'
52
% perl -MUgenr -le 'print scalar ugenr 9,0,100'
1

http://www.daimi.au.dk/~gnort/Ugenr.pm
--
Lars Balker Rasmussen "Special is bad."

Kim Hansen (30-08-2001)
Kommentar
Fra : Kim Hansen


Dato : 30-08-01 18:14

Lars Balker Rasmussen <lars@balker.org> writes:

> Kim Hansen <k@oek.dk> writes:
> > Så Date::Calc kører med at det er den første torsdag i året der ligger
> > i uge 1, hvilket er dansk standard.
>
> % perl -MDate::Calc=Week_Number -le 'print Week_Number(2000,1,1)'
> 0
>
> Men uge nul er forkert.

Nej, det er netop som det er dokumenteret, uge 0 betyder sidste uge
sidste år. Hvis man vil have den til at svare 52 skal man bruge dan
anden funktion jeg nævnte.

chips# perl -MDate::Calc=Week_of_Year -le 'print join ", ", Week_of_Year(2000,1,9)'
1, 2000
chips> perl -MDate::Calc=Week_of_Year -le 'print join ", ", Week_of_Year(2000,1,1)'
52, 1999

Den fortæller også hvilket år ugen tilhører.

--
Kim Hansen

Christian Hansen (31-08-2001)
Kommentar
Fra : Christian Hansen


Dato : 31-08-01 17:56

Og så skal man være ligeglad med, at uge 53 optræder en gang imellem

MVH Christian

Kim Hansen wrote:
> Lars Balker Rasmussen <lars@balker.org> writes:
>
>
>>Kim Hansen <k@oek.dk> writes:
>>
>>>Så Date::Calc kører med at det er den første torsdag i året der ligger
>>>i uge 1, hvilket er dansk standard.
>>>
>>% perl -MDate::Calc=Week_Number -le 'print Week_Number(2000,1,1)'
>>0
>>
>>Men uge nul er forkert.
>>
>
> Nej, det er netop som det er dokumenteret, uge 0 betyder sidste uge
> sidste år. Hvis man vil have den til at svare 52 skal man bruge dan
> anden funktion jeg nævnte.
>
> chips# perl -MDate::Calc=Week_of_Year -le 'print join ", ", Week_of_Year(2000,1,9)'
> 1, 2000
> chips> perl -MDate::Calc=Week_of_Year -le 'print join ", ", Week_of_Year(2000,1,1)'
> 52, 1999
>
> Den fortæller også hvilket år ugen tilhører.
>
>



Lars Balker Rasmusse~ (31-08-2001)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 31-08-01 17:59

Christian Hansen <webmaster@telescopium.dk> writes:
> Og så skal man være ligeglad med, at uge 53 optræder en gang imellem

Tilstedeværelsen af uge 53 er da en naturlig konsekvens af det danske
uge-system?
--
Lars Balker Rasmussen "Woo hoo!?"

Christian Hansen (31-08-2001)
Kommentar
Fra : Christian Hansen


Dato : 31-08-01 21:12

Lars Balker Rasmussen wrote:
> Christian Hansen <webmaster@telescopium.dk> writes:
>
>>Og så skal man være ligeglad med, at uge 53 optræder en gang imellem
>>
>
> Tilstedeværelsen af uge 53 er da en naturlig konsekvens af det danske
> uge-system?
>

Præcis, så hvad kan man bruge det til, hvis den bare melder et nul ud?
jeg kan jo ikke se, om den så mener uge 52 eller 53

MVH Christian


Kim Hansen (01-09-2001)
Kommentar
Fra : Kim Hansen


Dato : 01-09-01 10:47

Christian Hansen <webmaster@telescopium.dk> writes:

> Lars Balker Rasmussen wrote:
> > Christian Hansen <webmaster@telescopium.dk> writes:
> >
> >>Og så skal man være ligeglad med, at uge 53 optræder en gang imellem
> >>
> >
> > Tilstedeværelsen af uge 53 er da en naturlig konsekvens af det danske
> > uge-system?

Jep, 52 uger er 364 dage, dvs. ikke nok til at fylde et helt år, så
man har en 'skud-uge' ca. hver femte år.

> Præcis, så hvad kan man bruge det til, hvis den bare melder et nul ud?
> jeg kan jo ikke se, om den så mener uge 52 eller 53

Hvis man kun kigger på data for et år kan man være ligeglad med om der
var 52 eller 53 uger i året før. Hvis man ikke er ligeglad kan man
vælge at bruge funktionen Week_of_Year.

Man skal være opmærksom på at der kan være nogle problemer hvis man
bruger ugenummeret og årstallet dagene ligger i til at beskrive hvilke
dage man arbejder med, der er f.eks. 9 dage i uge 52 i år 2000 (1/1,
2/1, 25/12-31/12).

Alt i alt er ugenumre noget rod, hvis man vil undgå de værste
problemer med dem bør man holde ferie mellem torsdag før nytår og
torsdag efter. :)

--
Kim Hansen

Christian Hansen (01-09-2001)
Kommentar
Fra : Christian Hansen


Dato : 01-09-01 13:04

Kim Hansen wrote:
> Hvis man kun kigger på data for et år kan man være ligeglad med om der
> var 52 eller 53 uger i året før. Hvis man ikke er ligeglad kan man
> vælge at bruge funktionen Week_of_Year.

Nej man kan ikke, for de første dage i et år kan sagtens tilhøre forrige
års uge 52 eller 53.

I mit modul har jeg selv udviklet en algoritme, der er i stand til at
give korrekte danske ugenumre. Det var ikke nemt, men det var sjovt

MVH Christian


Thorbjoern Ravn Ande~ (01-09-2001)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 01-09-01 18:43

Christian Hansen <webmaster@telescopium.dk> writes:


> I mit modul har jeg selv udviklet en algoritme, der er i stand til at
> give korrekte danske ugenumre. Det var ikke nemt, men det var sjovt
>
> MVH Christian

Maa jeg tillade mig at forslaa at du pudser det af, og smider det paa CPAN?

--
Thorbjoern Ravn Andersen "...plus...Tubular Bells!"
http://bigfoot.com/~thunderbear

Christian Hansen (01-09-2001)
Kommentar
Fra : Christian Hansen


Dato : 01-09-01 18:21

Thorbjoern Ravn Andersen wrote:
> Christian Hansen <webmaster@telescopium.dk> writes:
>
>
>
>>I mit modul har jeg selv udviklet en algoritme, der er i stand til at
>>give korrekte danske ugenumre. Det var ikke nemt, men det var sjovt
>>
>>MVH Christian
>>
>
> Maa jeg tillade mig at forslaa at du pudser det af, og smider det paa CPAN?
>
>

Har du set det?

Jeg skal i fald først have skrevet dokumentationen om til engelsk,
hvilket jeg da også på forhånd overvejede at gøre.

Men så ville det da egentlig være en god ide at smide det der, så flere
kan få glæde af det, ligesom jeg har glæde af andres CPAN moduler.

MVH Christian


Lasse Hillerøe Peter~ (02-09-2001)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 02-09-01 11:36

In article <3B90CECB.7020609@telescopium.dk>, Christian Hansen
<webmaster@telescopium.dk> wrote:

>Kim Hansen wrote:
>> Hvis man kun kigger på data for et år kan man være ligeglad med om der
>> var 52 eller 53 uger i året før. Hvis man ikke er ligeglad kan man
>> vælge at bruge funktionen Week_of_Year.
>
>Nej man kan ikke, for de første dage i et år kan sagtens tilhøre forrige
>års uge 52 eller 53.

Jeg forstår ikke ovenstående. Lige præcis hvad er problemet med det?

Ugenumre er standardiseret i ISO 8601, og det er den Date::Calc følger.
Lige som mig bekendt alle kalenderleverandører i DK.

-Lasse

Christian Hansen (31-08-2001)
Kommentar
Fra : Christian Hansen


Dato : 31-08-01 17:58

jeg har faktisk for nogen tid siden implementeret dette i JAVA, da JAVA
har en ret dålig kalenderfunktion. Senere skrev jeg det over i perl. Jeg
har ikke dokumenteret det fuldstændigt, men du kan hente modulet her:

htpp://www.telescopium.dk/perl/

Har du ikke adgang til at installere perlmoduler, kan du jo bare sakse
funktionerne ud af modulet og inkludere dem i dit eget script.


htmlfilen i diret indeholder den dokumentation jeg har nået at skrive.

MVH Christian

Bjoern Jensen wrote:
> Hej!
> Jeg mangler en funktion som kan give det korrekte danske ugenr på baggrund
> af en dato.
> Såvidt jeg fandt frem til skal man være meget forsigtig med
> engelske/amerikanske datoer, da ugen ikke starter om mandagen og ugenr ved
> årskiftet også kan være forskelligt.
>
> Mon jeg er så heldig at der er en derude som har tænkt og løst dette?
> Hilsen
> Bjørn
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409074
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste