Jump to content
  • 0

Dag 1 van Weeknr x


eldeka

Question

Posted

Na een speurtocht op het Forum vind ik geen onderwerp dat een antwoord biedt op de volgende vraag.

Ik wil namelijk een functie maken die de Datum van de Eerste Dag van een bepaalde Week berekent met het Jaar en het Weeknr. als parameters.

Eigenlijk het omgekeerde van wat de functie WeekOfYear (Datum) doet.

Iemand een hint?

5 answers to this question

Recommended Posts

  • 0
Posted

ik ben er zeker van dat je hiervoor een custom function gaat vinden op www.fmcustomfunctions.com of op www.briandunning.com

 

anders kan dit je zeker al op weg helpen:

 

Let ( 
[
 _weeknr = <>
; _year = <>
; _FirstDayOfYear = GetAsDate ( "01/01/" & _year )
; _DayNumberFirstDay = DayOfWeek ( _FirstDayOfYear )
] ;

GetAsDate ( _FirstDayOfYear + 7 * _weeknr - _DayNumberFirstDay + 2 )

)

 

dit is niet getest, maar even uit de losse pols.

  • 0
Posted

Rekening houdend met:

1) de eerste dag vd week = maandag en niet zondag;

2) weeknrs kunnen variëren van 1 tot 54;

3) de week nr 1 start op maandag als nieuwjaar valt op maandag, dinsdag, woensdag of donderdag; anders op maandag na nieuwjaar

ben ik tot de volgende oplossing gekomen.

 

Functie -> DagVanWeeknr ( Dagnr; Weeknr; Jaar )

Let

(

[

Nieuwjaar = GetAsDate ( "01/01/"& Jaar );

DagnrNieuwjaar = DayofWeek ( Nieuwjaar ) ;

Weekcorrectie = If (DagnrNieuwjaar > 5 ; 0 ; 1 );

//als nieuwjaar valt vrijdag, zaterdag of zondag dan worden de weeknrs met één week in de toekomst verplaatst

Dag = DagnrNieuwjaar - Dagnr - 1

//correctie van 1 dag om wij maandag als eerste dag van de week beschouwen

];

GetAsDate ( Nieuwjaar + 7 * ( Weeknr - Weekcorrectie ) - Dag )

)

  • 0
Posted

WeekNumber * 7 + Date(1, 1, Year(Status(CurrentDate))) - DayofWeek(Date(1, 1, Year(Status(CurrentDate))))

 

Zal altijd de zaterdag van een gegeven weeknr geven.

 

Het is dan maar zaak om de dagparameter af te trekken om een dag eerder in de week te hebben.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...