Avatar billede tblaster Nybegynder
13. januar 2004 - 16:35 Der er 4 kommentarer og
1 løsning

Datediff der samler antal dage uden weekend dagene

Hejsa

- EKSPERTEN HAR ET PROBLEM MED POINT SYSTEMET OG DERFOR ER DER IKKE AFSAT NOGLE POINT. NÅR DETTE BLIVER FIKSET SKAL JEG NOK SMIDE 30 POINT I PULJEN! -

Jeg skal lige have lidt hjælp her. Jeg har denne datediff funktion som tæller antal dage mellem 2 datoer:

Antaldage = DateDiff("d", StartPeriode, SlutPeriode)

Hvordan fikser jeg det lige således at jeg kun får hverdage talt op, altså at den kun tæller de dage op som ikke er lørdage eller søndage?
Avatar billede styless Nybegynder
13. januar 2004 - 16:56 #1
Hjernefis: Divider med 2 så har du antal uger. Minus hver uge med 2 og gang med 7?
Avatar billede tblaster Nybegynder
13. januar 2004 - 17:11 #2
det er ikke nøjagtigt nok ... hvis jeg nu har en startdato om torsdagen og en slut dato om fredagen så kan du godt se at der kommer til at blive noget rod i det!
Avatar billede eagleeye Praktikant
13. januar 2004 - 23:37 #3
Det kan gøres ved at lave sin egen datediff her kalde DateDiffNW og så en hjælpe funktion IsWeekend til at tjekke om en dato er i en weekend.:


<%
function IsWeekend(dato)
  select case Weekday(CDate(dato))
    case vbSaturday, vbSunday
      IsWeekend = True
    case else
      IsWeekend = False
  end select
end function

function DateDiffNW(startDato, slutDato)
  'Sikre start elle slut dato ikke er i en weekend
  do while IsWeekend(startDato)
    startDato = DateAdd("d",1,startDato)
  loop
  do while IsWeekend(slutDato)
    slutDato = DateAdd("d",-1,slutDato)
  loop

  if CDate(startDato) > CDate(slutDato) then
    DateDiffNW = 0
  else
    'med +1 er det: fra og med startDato til og med slutDato
    DateDiffNW = DateDiff("d",startDato,slutDato)-(DateDiff("ww", startDato, slutDato) * 2)+1
  end if
end function


sDato = "16-01-2004"
eDato = "27-01-2004"
Response.Write dateDiffNW(sDato,eDato)

%>
Avatar billede tblaster Nybegynder
14. januar 2004 - 08:46 #4
Thx ... det var lige sådan noget jeg skulle bruge. Jeg kan ikke lige give dig nogle point ... af en eller anden grund så har jeg sku mistet alle mine point i opgraderingen. Når jeg går nogle point igen skal jeg nok lige smide 30 af til dig!
Avatar billede styless Nybegynder
14. januar 2004 - 12:20 #5
tblaster: Som jeg sagde var det også kun en hjernefis som måske kunne hjælpe dig i rigtige retning hvis du nu ikke skulle få anden hjælp!
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