Avatar billede gadebarnet Nybegynder
20. marts 2005 - 18:22 Der er 8 kommentarer og
1 løsning

dato perioder

Jeg vil prøve at lave en periode dropdown...

Det skal være sådan at den laver en liste med følgende:

fra den 1 og 14 dage frem og så fra den 14 og til slut af den måned der er valgt...

er der nogle der forstår det ?

f.eks idenne måned ville det være:


1-14 marts 2005
15-31 marts 2005

osvosv...

Mit dato problem består i at den skal tage højde for hvilken måned man er i, da der jo aldrig vil være f.eks 30 dage i februar..
Avatar billede busschou Praktikant
20. marts 2005 - 22:55 #1
dato1 = DateSerial(aar, maaned, 1)
dato2 = DateAdd("m", 1, dato1)
DaysInMonth = DateDiff("d", dato1, dato2)
Avatar billede busschou Praktikant
20. marts 2005 - 22:56 #2
feks:
dato1 = DateSerial(2005, 3, 1)
dato2 = DateAdd("m", 1, dato1)
DaysInMonth = DateDiff("d", dato1, dato2)
vil give
DaysInMonth = 31
Avatar billede busschou Praktikant
20. marts 2005 - 22:57 #3
Du kan selvfølgelig blot nøjes med DateDiff imellem 1marts og 1april hvis du har dem liggende som dato format
På den måde vil du tage højde for korte og lange måneder samt skudår
Avatar billede kjulius Novice
20. marts 2005 - 23:12 #4
Du kan altid komme frem til den sidste dag i måneden ved at lægge en måned til, for herefter at trække dagen fra:

Slutdato = DateAdd("m",1,dato)-Day(dato)
Avatar billede kjulius Novice
20. marts 2005 - 23:21 #5
Ved nærmere eftertanke er du vist nødt til at gøre det i to steps:

Slutdato=DateAdd("m",1,dato)
Slutdato=Slutdato-Day(Slutdato)

Det er fordi, hvis man nu har en dato med flere dage end den efterfølgende, f.eks. 30-1-2004, lægger én måned til, vil resultatet være den 28-2-2004, hvorefter vi trækker 30 dage fra, hvilket vil give et forkert resultat. Derfor er vi nødt til at arbejde med et mellemresultat.
Hvis man er sikker på, at udgangsdatoen er f.eks. den 1. i måneden hver gang, er det ikke noget man behøver at bekymre sig om. Så kan det gøres som i det oprindelige eksempel.
Avatar billede busschou Praktikant
20. marts 2005 - 23:23 #6
Som jeg forstår spørgsmålet ønsker du en liste af måneder delt i to over et helt år
Så det er jo blot at se på forskellen hver måned igennem i den løkke du i forvejen har
Avatar billede ras2000 Nybegynder
23. marts 2005 - 09:48 #7
Lige for at samle det for dig, gadebarn:
<select>
<%
dato = (year(date()) & "-" & month(date()) & "-1")
for i = 0 to 12
    dato1 = dateadd("m", i, dato)
    dato2 = DateAdd("m", 1, dato1)
    antaldage = datediff("d", dato1, dato2)
%>
    <option>1 - 14/<%=month(dato1)%> - <%=year(dato1)%></option>
    <option>15 - <%=antaldage%>/<%=month(dato1)%> - <%=year(dato1)%></option>
<%next%>
</select>
Avatar billede busschou Praktikant
08. maj 2005 - 10:00 #8
gadebarnet >> kommet videre?`, lukketid ? ;o)
Avatar billede gadebarnet Nybegynder
08. maj 2005 - 11:05 #9
sorry... har været syg.
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