Avatar billede mifan Nybegynder
08. april 2005 - 11:27 Der er 3 kommentarer og
4 løsninger

Week number

Hey,

har en webserver kørende, som ved "cstr(datepart("ww",date()))" returnerer forkert ugenummer.
Efter at have undersøgt det lidt, kan jeg se, at også excel gør det, så problemet må på et eller andet plan være OS'et (?).

Problemet er, at når uge 53 overskrider nytåret, så regnes de nye dage i ugen for uge 1, og ikke 53 som de stadig burde. Den efterfølgende uge bliver derved til uge 2, og alt forskubbes en uge.
Hvis nytårsaften er en søndag, så er der ingen problemer, fordi uge 1 så korrekt starter mandag d. 1. :p

ARG!!!
Avatar billede medions Nybegynder
08. april 2005 - 11:29 #1
Prøv sådan her:
WeekNumber = DatePart("ww", date(), vbMonday, vbFirstFourDays)

//>Rune
Avatar billede medions Nybegynder
08. april 2005 - 11:31 #2
Men jeg mener nok der var lidt problemer med den der... Om ikke andet prøv den her så:

dim Aar, AarsStart, AktUgeNr, UgeDag
Aar=Year(Date)
AarsStart=DateSerial(Aar,01,01)
Do
AarsStart=AarsStart+1
Loop Until WeekDay(AarsStart)=2
If Date<AarsStart And Aar=Year(AarsStart) Then
AktUgeNr=53
Else
AktUgeNr=Int((Date-Aarsstart)/7)+1
End If

//>Rune
Avatar billede a1a1 Novice
08. april 2005 - 11:31 #3
se nedenstående (fra windowsscript hjælp)

DatePart(interval, date[, firstdayofweek[, firstweekofyear]])
Arguments
interval
Required. String expression that is the interval of time you want to return. See Settings section for values.
date
Required. Date expression you want to evaluate.
firstdayof week
Optional. Constant that specifies the day of the week. If not specified, Sunday is assumed. See Settings section for values.
firstweekofyear
Optional. Constant that specifies the first week of the year. If not specified, the first week is assumed to be the week in which January 1 occurs. See Settings section for values.
Settings
The interval argument can have the following values:

Setting Description
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week of year
h Hour
n Minute
s Second

The firstdayofweek argument can have the following values:

Constant Value Description
vbUseSystemDayOfWeek 0 Use National Language Support (NLS) API setting.
vbSunday 1 Sunday (default)
vbMonday 2 Monday
vbTuesday 3 Tuesday
vbWednesday 4 Wednesday
vbThursday 5 Thursday
vbFriday 6 Friday
vbSaturday 7 Saturday

The firstweekofyear argument can have the following values:

Constant Value Description
vbUseSystem 0 Use National Language Support (NLS) API setting.
vbFirstJan1 1 Start with the week in which January 1 occurs (default).
vbFirstFourDays 2 Start with the week that has at least four days in the new year.
vbFirstFullWeek 3 Start with the first full week of the new year.
Avatar billede medions Nybegynder
08. april 2005 - 11:32 #4
Avatar billede a1a1 Novice
08. april 2005 - 11:32 #5
datepart("ww",date(), 0)

bruger system default
Avatar billede a1a1 Novice
08. april 2005 - 11:33 #6
datepart("ww",date(), 0, 0) sååånn

;o)
Avatar billede a1a1 Novice
08. april 2005 - 11:37 #7
"buggen" burde ikke findes i nyere produkter (vb 6.0 er det nyeste de skriver det "omhandler")
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester