Avatar billede troelsm Nybegynder
29. juni 2002 - 13:05 Der er 6 kommentarer og
2 løsninger

Kode som danner alle datoer i et år ud fra et årstal

Hejsa !
Er der nogen som kan hjælpe mig med denne.

Variabel i koden skal være årstal (fx. 2003)
jeg vil så gerne have en stump kode som danner alle datoer i dette år.

således at jeg kan lave en
response.write " Dato " & dato
response.write " UgeNummer " & ugenummer

for alle datoer i et givet årstal
Avatar billede tmceu Praktikant
29. juni 2002 - 13:08 #1
For i = 0 To 365
Response.Write DateAdd("d", i, date())
Next
Avatar billede tmceu Praktikant
29. juni 2002 - 13:12 #2
Vi kunne forbedre den en smule, for at tage højde for 29. februar o.s.v.

varBeginDate = "01/01/2003"

For i = 0 To 366
varDate = DateAdd("d", i, varBeginDate)

If Year(varDate) = Year(varBeginDate) Then
  Response.Write varDate & "<BR>"
Else
  Exit For
End If

Next
Avatar billede troelsm Nybegynder
29. juni 2002 - 13:19 #3
Ja nummer 2 er meget bedre end forslag 1,
kan jeg også få det sidste på ? altså uge nummer
Avatar billede tmceu Praktikant
29. juni 2002 - 13:38 #4
Function df_ISOWeek (ByVal dDate)
    'returns the ISO week number (week 1 is the week that contains the 4th of January / Monday is the first day of the week)
    'or -1 for invalid dates
    If IsDate (dDate) Then
        df_ISOWeek = DatePart("ww", dDate, vbMonday, vbFirstFourDays)
    Else
        df_ISOWeek = -1
    End If
End Function


varBeginDate = "01/01/2003"

For i = 0 To 366
varDate = DateAdd("d", i, varBeginDate)

If Year(varDate) = Year(varBeginDate) Then
  Response.Write varDate & " " & df_ISOWeek(varDate) & "<BR>"
Else
  Exit For
End If

Next
Avatar billede keysersoze Ekspert
29. juni 2002 - 13:41 #5
nu ved jeg selvfølgelig ikke hvad du skal bruge det til - men prøv at tag et kig på denne;

http://www.activedeveloper.dk/aspdigital/studies/kalender.asp
Avatar billede eagleeye Praktikant
29. juni 2002 - 14:13 #6
Ek kan det gøres sådan:

<%
'Set start dato
startDato = "24-06-2002"
'Lig et år til og find slut dato
slutDato = DateAdd("yyyy",1,startDato)

'udskriv og lig en dag til ad gangen.
do while CDate(startDato) < CDate(slutDato)
  Response.Write "Dato : " & startDato & "<br>"
  startDato = DateAdd("d",1,startDato)
loop
%>
Avatar billede eagleeye Praktikant
29. juni 2002 - 14:41 #7
hmm du skal hvade uge nummer med og kun et års tal som start så gør sådan her:
<%
StartAar = "2002"
'Set start dato til 1/1-startÅr
startDato = "01-01-" & startAar
'Lig et år til og find slut dato
slutDato = DateAdd("yyyy",1,startDato)
'udskriv og lig en dag til ad gangen.
do while CDate(startDato) < CDate(slutDato)
  Response.Write "Dato : " & startDato
  Response.Write " Uge nummer : " & DatePart("ww", startDato, vbMonday, vbFirstFourDays) & "<br>"
 
  startDato = DateAdd("d",1,startDato)
loop
%>
Avatar billede troelsm Nybegynder
29. juni 2002 - 15:07 #8
Okie i får (eagleeye + tmceu) den ene var først med dato på et valgfrit år og den anden satte ugenummer på.

Tak for svarene
Troels
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