Misschien kan iemand mij helpen ik wil berekenen hoeveel weken er in een bepaald jaar zitten?
B.V. 2003 heeft 52 weken
2004 heeft 53 weken
Misschien kan iemand mij helpen ik wil berekenen hoeveel weken er in een bepaald jaar zitten?
B.V. 2003 heeft 52 weken
2004 heeft 53 weken
Als je het jaartal kan delen door 4, dan ist een schrikkeljaar....
@Marcel0000 behalve als het jaar deelbaar is door 400 .
ennuh 31-12-2009 valt ook in week 53 dus die vlieger gaat sowieso niet op
@Ralph
Het nummer van een week wordt eenvoudigweg vastgesteld door te tellen vanaf week 1. Week 1 is de week waarin de eerste donderdag van het jaar valt.
(zie :http://www.nen.nl/cgi-bin/index.pl?h...rief200103.htm )
Rat
ja, maar, volgens mij was de vraag hoeveel weken er in een jaar zitten, en niet in welke week een bepaalde datum valt...
ik zie alleen die 400 niet, maar kan ook aan mij liggen
Een schrikkeljaar heeft niet bepaald veel te maken met het aantal weken in een jaar.
Die 400 is alleen een aanvulling op jouw definitie van een schrikkeljaar .
Rat
[off topic]
Zijn jullie allemaal van na de millenium overgang?
Schrikkeljaren zijn de jaar die deelbaar zijn door vier tenzij ze deelbaar zijn door 100, maar weer wel als ze deelbaar zijn door 400.
(2000 was een schrikkeljaar weet je nog wel?)
[/off topic]
[edit]
Of een jaar 52 of 53 weken heeft hangt af van op welke dagen 1 januari valt. De eerste week is de week met minimaal 4 dagen. Dus 1 januari op donderdag, woensdag, dinsdag of maandag dan valt 1 januari in week 1
Daarmee zul je dus rekening moeten houden met het tellen van de weken!
Last edited by Matthijs; 21-Mar-03 at 14:16.
What's in a sig?
Would my posting be less valuable if it didnot have a sig? (Vrij naar William S.)
Let op de kleine lettertjes. For all postings: e&oe!
This program performed an illegal function, the police are on their way
Je hebt helemaal gelijk.....het was iets met 400 iig
Maar goed heeft nog steeds niet veel te maken met het aantal weken in een jaar
Rat
Door de snelheid van het forum viel mijn edit een beetje in het water
Dus als je wilt berekenen hoeveel weken een jaar heeft bepaal je op welke weekdag 1 januari en 31 december valt!
What's in a sig?
Would my posting be less valuable if it didnot have a sig? (Vrij naar William S.)
Let op de kleine lettertjes. For all postings: e&oe!
This program performed an illegal function, the police are on their way
Of als je het iets eenvoudiger wil doen....
Je kunt ook volgende functie gebruiken uit DateUtils.pas
[Help]
function WeeksInYear(const AValue: TDateTime): Word;
Description
Call WeeksInYear to obtain the number of weeks in the year of the TDateTime value specified by AValue.
Note: WeeksInYear defines the first week of the year according to the ISO 8601 standard. That is, the first week of the year is the one that includes the first Thursday of the year (the first week that has 4 or more days in the year). This means that WeeksInYear always returns either 52 or 53.
[/Help]
Pascal
leuk geprobeerd maar ik heb de functie uitgeprobeerd maar hij geeft niet de juiste waarde terug.
Bij 2004 zou hij eigenlijk 53 moeten terug geven.
misschien iets met mijn aanroep?
ShowMessage(FloatToStr(WeeksInYear(2004)));
hij geeft 52 terug
dit heb ik gevonden over het aantal weken in een jaar
Most years have 52 weeks, but years that start on a Thursday and leap years that start on a Wednesday have 53 weeks.
Probeer dit eens
function WeeksInAYear(const AYear: Word): Word;.
ShowMessage(IntTostr(WeeksInAYear(2004)));
Dit retourneert wel het juist aantal weken, nl 53.
Pascal
Bij bepaalde jaren kan een week 1 2 maal voorkomen omdat een deel van de week van het niuewe jaar nog in het oude valt. Wil je die hier meetellen of niet?
Er is een ISO norm over geschreven over hoe je alles zou moeten berekenen. Wij hebben het ons in europa in ieder geval mooi moeilijk gemaakt door uit te gaan van minimaal 4 dagen voor een wek 1.
Dus wil je de hele weken weten, alleen de weken die echt bij het jaar horen of alle weken die maar in het jaar voorlkomen al is het maar 1 dag?
Mani
@Ralph: als uitleg voor je probleem, je geeft een jaartal mee, maar de functie verwacht een TDateTime, die je met bijvoorbeeld EncodeDateTime zal moeten genereren. WeeksInAYear vraagt waarschijnlijk wel om een absoluut jaartal
Qui custodiet ipsos custodes
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks