de naam zegt het ongeveer zelf, ik moet de kalenderweek ( 1 - 52 ) uit een datum halen. Nu vind ik NERGENS hoe dat zou moeten en ik kan moeilijk geloven dat hier geen enkele functie voor bestaat.
Misschien kan jij of iemand anders dit wel ff vertalen, maar dit heb ik toevallig net gevonden op een Delphi forum. Dit is dus pascal:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| function WeekNumber( ADay: TDateTime): Integer;
var
Year, Month, Day: Word;
WeekDay : integer;
DumDay: TDateTime;
diff, diff2: integer;
begin
DumDay:= ADay;
DecodeDate(DumDay, Year, Month, Day);
DumDay:= EncodeDate( Year, 1, 1); { first day of year }
WeekDay:= DayOfWeek(DumDay);
if (WeekDay < 6) and (Weekday > 1) then { monday -> thursday }
DumDay:= DumDay - WeekDay + 2
else
begin
if WeekDay > 5 then
DumDay:= DumDay - WeekDay + 9;
if WeekDay = 1 then
DumDay:= DumDay + 1;
end; { DumDay points to monday in week number one }
diff:= Trunc( ADay - DumDay);
if diff < 0 then
begin
Result:= WeekNumber(ADay - 7) + 1; { last week of previous year }
Exit;
end;
DumDay:= EncodeDate( Year, 12, 31); { last day of year }
WeekDay:= DayOfWeek(DumDay);
diff2:= Trunc(DumDay - ADay);
if (diff2 < 3) and { one of last three days of year }
(WeekDay > 1) and (WeekDay < 5) and { monday -> wednesday }
(WeekDay > diff2 + 1) then
begin
Result:= 1; { first week of next year }
Exit;
end;
result:= diff div 7 + 1;
end; |
[16:19] <WhizzCat> de zon heeft nog maar 5 miljard jaar te leven naar het schijnt
[16:19] <WhizzCat> dus schiet op met dat protocol Chimera :p
Verwijderd
Kijk eens op www.pscode.com Ik durf te wedden dat het daar wel te vinden is.
Was hier vorige week niet ook al een topic over
Of was dat ook van jou, Sliv?
Was hier vorige week niet ook al een topic over
Verwijderd
Ik weet ook zeker dat 't in de vbmanual staat,de functie heet DatePart.Op zondag 05 mei 2002 16:57 schreef KoenM het volgende:
Kijk eens op www.pscode.com Ik durf te wedden dat het daar wel te vinden is.
Zie verder: http://utopia.knoware.nl/~ocorten/timex/wkcalc.htmIn [ISO8601], the week number is defined by:
- weeks start on a monday
- week 1 of a given year is the one that includes the first Thursday of that year. (or, equivalently, week 1 is the week that includes 4 January.)
De rest kun je zelf wel denk ik?
Pagina: 1