18. februar 2004 - 10:38Der er
15 kommentarer og 1 løsning
Antal uger mellem 2 givne datoer
Hej
jeg har gjort sådan:
DateDiff("ww", dato1, dato2)
for at finde antal uger fra dato1 til dato2, men hvis jeg f.eks. skal finde antal uger fra d. 1 januar til den 30. april får jeg 16 uger, selvom der faktisk er 17.
Hvordan retter jeg dette så jeg får det rigtige resultat ?
DateDiff("ww", CDate("01-01-2004"), Cdate("30-04-2004")) gir 17 uger hos mig...
Og hvis den gøres mere specifik ved at fortælle den hvad den første dag i ugen er, og hvor mange dage der er i første uge af året, så gi'r den stadig 17...
if beregn = "true" then Response.Write "<font face='verdana' size='2'><center>Der er ialt:<br><b>"& DateDiff("ww", dato1, dato2) &" uger</b><br><br>i perioden:<br><b>"&dato1&" til "&dato2&"</b></center><br><br>"
Hvis det er sådan noget du er ude i, så skal du jo - udover at måle antallet af uger mellem de to datoer - også kigge på hvilken ugedag slut-datoen er, for så at afgøre om du skal ligge 1 til antallet af uger...
Function antalUger(start, slut) temp = DateDiff("ww", CDate(start), CDate(slut)) If Weekday(CDate(start), 2) = 1 or Weekday(CDate(slut), 2) = 1 Then temp = temp + 1 End If antalUger = temp End Function
det kommer an på hvad du definerer som "uge" ... hvis én uge = 7 kalenderdage, så passer det nok, men hvis en uge = den "officielle" ugeangivelse (1. januar er i uge 1 og 5. januar er i uge 2), så er det forkert. Den mest nøjagtige angivelse må være det jeg postet @ 18/02-2004 11:48:11, hvor du får antal uger og dage mellem de to datoer.
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.