Avatar billede md_craig Nybegynder
06. maj 2003 - 15:32 Der er 14 kommentarer og
2 løsninger

Finde Uge nr. på en dato...

Når jeg bruger DATEPART så retunere den ikke altid de rigtige uger, og det er jo ikke så godt...

fx hvis jeg kiger på 1/1/2005, så retunere den Uge 1, men dette er jo ikke korekt, da denne dato faktisk ligger i uge 53...

Nu er mit spørgsmål, hvad kan jeg lige gøre ved det ???
Avatar billede medions Nybegynder
06. maj 2003 - 15:33 #1
DatePart("ww",#1/1/2002#) skulle altså virke perfekt!

//>Rune
Avatar billede medions Nybegynder
06. maj 2003 - 15:33 #2
Måske fordi du glemmer at sætte # og # rundt om?

//>Rune
Avatar billede medions Nybegynder
06. maj 2003 - 15:35 #3
Den her skulle dog være lidt mere præcist:

<%= DatePart("ww", Now(), FirstDayOfWeek, FirstWeekOfYear) %>

//>Rune
Avatar billede eagleeye Praktikant
06. maj 2003 - 15:37 #4
Der er en fejl i DatePart functionen på netop ude nummereret.
Jeg leder lige efter et link fra MS som beskriver det.
Avatar billede md_craig Nybegynder
06. maj 2003 - 15:38 #5
Prøv du med denne:

DatePart("ww", #1/1/2005#)

Den retunere Uge = 1... men det er ikke korekt, for her er ugen 53...

Den skulle gerne retunere følgende for følgende datoer:
1/1/2002 = Uge 1
1/1/2003 = Uge 1
1/1/2004 = Uge 1
1/1/2005 = Uge 53

Men den retunere Uge = 1 for samtlige af dem...
Avatar billede medions Nybegynder
06. maj 2003 - 15:39 #6
Hvad får du hvis du skriver:

<%= DatePart("ww", Now(), FirstDayOfWeek, FirstWeekOfYear) %>

?

//>Rune
Avatar billede eagleeye Praktikant
06. maj 2003 - 15:40 #7
Avatar billede md_craig Nybegynder
06. maj 2003 - 15:40 #8
eagleeye...

Ja det havde jeg faktisk lidt regnet ud, men så må jeg vel selv ind og finde uge nummeret... men hvordan nu det ??? det er ikke lige noget jeg kan overskue...

Jeg kan sagtens finde uf af om 1/1 er uge 1 eller ej, det er næmt, det er bare at gå ind og se på om 1/1 falder før eller efter en torsdag...

Men så skal jeg jo derudfra definere hvilken uge 10/6 er og 12/4 osv...
Avatar billede md_craig Nybegynder
06. maj 2003 - 15:43 #9
Medions...

Ja den ser umiddelbart ud til at virke...
Avatar billede eagleeye Praktikant
06. maj 2003 - 15:43 #10
Du kan evt bruger deres Work around, hvor du laver din egen functionsom så reder fejlen i land, rettet lidt til for ASP.:


Function WOY (MyDate)
  WOY = DatePart(MyDate, "ww", vbMonday, vbFirstFourDays)
  If WOY > 52 Then
    If DatePart(MyDate + 7, "ww", vbMonday, vbFirstFourDays) = 2 Then WOY = 1
  End If
End Function
Avatar billede eagleeye Praktikant
06. maj 2003 - 15:58 #11
Du skal værre opmærksom på at den føste uge i året i vores kalender er den uge som har min 4 dage.
Avatar billede md_craig Nybegynder
06. maj 2003 - 16:01 #12
Medions...

Den retter desvære kun fejlen der er i starten af året... ikke i slutningen...

Eagleeye...

kunne du forklare det lidt tydligere ???

Skal den der bare kastes skødeløst ind... hvad med ens dato ???
Avatar billede md_craig Nybegynder
06. maj 2003 - 16:02 #13
eagleeye...

Ja, eller med andre ord, den første uge i året, er den første uge i januar der includere Torsdag...
Avatar billede eagleeye Praktikant
06. maj 2003 - 16:03 #14
Functionen skal laves lidt om sådan her:


Function WOY (MyDate)
  WOY = DatePart("ww", MyDate, vbMonday, vbFirstFourDays)
  If WOY > 52 Then
    If DatePart("ww", MyDate+7, vbMonday, vbFirstFourDays) = 2 Then WOY = 1
  End If
End Function



Du skal ligge functionen ind i din kode et sted og i setdet for at skrive:

uge = DatePart("ww",#1/1/2002#)

Skriver du:
uge = WOY(#1/1/2002#)
Avatar billede md_craig Nybegynder
06. maj 2003 - 16:03 #15
Medions...

Never mind, det var mig der havde lavet en fejl der...
Avatar billede md_craig Nybegynder
06. maj 2003 - 16:20 #16
Nu tror jeg egentlig nok den er der...
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
Kurser inden for grundlæggende programmering

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