- ADB Bygg
- Olle Christiansen
- Tel
- 070 6263746
- Epost
- olle@adb-bygg.se
- Postadress
- Gamlabergsv. 25
- 791 61 FALUN
Beräkna veckonummer i Lotus Notes formelspråk
Kod som beräknar veckonummer för sverige, vilket följer ISO standard (ISO 8601:1988).
I Sverige blir den första veckan av vilken minst 4 dagar hamnar inom det nya året vecka 1.
Kod
REM{ © Olle Christiansen, olle@adb-bygg.se };
Xday:= SkapadDatum;
Xday:=@If(Xday="";@Today;Xday);
REM{ XdayM=datum för måndag före Xday };
Xwday:=@Weekday(Xday);
XwdayISO:=@If(Xwday=1;7;Xwday-1);
XdayM:=@Date(@Adjust(Xday;0;0; -XwdayISO+1;0;0;0));
REM{ Year=år för vecka 1 };
Year:=@If(@Month(XdayM)=12&@Day(XdayM)>28;@Year(XdayM)+1;@Year(XdayM));
REM{ Wday11=Veckodag 1/1 };
Wday11:=@Weekday(@Date(Year;1;1));
Wday11ISO:=@If(Wday11=1;7;Wday11-1);
REM{ dayM=datum för måndag vecka 1, relativt 1/1 (0,-1,-2,-3,3,2,1) };
just:=@If(Wday11ISO>4;8-Wday11ISO;-(Wday11ISO-1));
dayM:=@Date(@Adjust(@Date(Year;1;1);0;0;just;0;0;0));
XdayMnr:=@BusinessDays(@Date(@Year(Xday);1;1);XdayM);
dayMnr:=@BusinessDays(@Date(@Year(Xday);1;1);dayM);
REM{ Vnum=veckonummer };
Vnum:=((XdayM-dayM)/86400)/7+1;
@Text(Year)+@Right("0"+@Text(Vnum);2)
Xday:= SkapadDatum;
Xday:=@If(Xday="";@Today;Xday);
REM{ XdayM=datum för måndag före Xday };
Xwday:=@Weekday(Xday);
XwdayISO:=@If(Xwday=1;7;Xwday-1);
XdayM:=@Date(@Adjust(Xday;0;0; -XwdayISO+1;0;0;0));
REM{ Year=år för vecka 1 };
Year:=@If(@Month(XdayM)=12&@Day(XdayM)>28;@Year(XdayM)+1;@Year(XdayM));
REM{ Wday11=Veckodag 1/1 };
Wday11:=@Weekday(@Date(Year;1;1));
Wday11ISO:=@If(Wday11=1;7;Wday11-1);
REM{ dayM=datum för måndag vecka 1, relativt 1/1 (0,-1,-2,-3,3,2,1) };
just:=@If(Wday11ISO>4;8-Wday11ISO;-(Wday11ISO-1));
dayM:=@Date(@Adjust(@Date(Year;1;1);0;0;just;0;0;0));
XdayMnr:=@BusinessDays(@Date(@Year(Xday);1;1);XdayM);
dayMnr:=@BusinessDays(@Date(@Year(Xday);1;1);dayM);
REM{ Vnum=veckonummer };
Vnum:=((XdayM-dayM)/86400)/7+1;
@Text(Year)+@Right("0"+@Text(Vnum);2)
Koden ovan förutsätter att ett datum är angivet i datumfältet "SkapadDatum".
Koden kan visas i beräknad text eller beräknat textfält.

