Avatar billede finntoft Nybegynder
30. december 2001 - 22:03 Der er 14 kommentarer og
2 løsninger

Dato (Uge, år)

Hej...

Hvis jeg nu har en dato som f.eks. er: 31-12-2001
Hvordan finder jeg så ud af hvilken ugenr & år det tilhører ?

F.eks. 31-12-2001 = uge 1 år 2002

Men hvis jeg nu bare tager datoen\'s årstal så for jeg 2001... Hvordan finder jeg ud af hvilket år, ugen tilhører?

Det skal helst laves i en Funksion.

På forhånd tak
Avatar billede Slettet bruger
30. december 2001 - 22:15 #1
<%
Function WeekYear(Dato)
WeekYear = \"Uge \" & DatePart(\"ww\", Dato, vbMonday) & \" år \" & Year(Dato)
End Function
%>


<%=WeekYear(Now)%>
Avatar billede finntoft Nybegynder
30. december 2001 - 22:22 #2
En lille fejl...

Hvis jeg skriver dato\'en 31-01-2001 så skriver den:

Uge 53 år 2001

Den skulle jo skrive:
Uge 1 År 2002

Fordi at det er uge 1 i år 2002

Kan du hjælpe?
Avatar billede finntoft Nybegynder
30. december 2001 - 22:25 #3
Ups Hvis jeg skriver dato\'en 31-12-2001  Lille fejl
Avatar billede Slettet bruger
30. december 2001 - 22:25 #4
Er du helt sikker på at det er uge 1? Er det ikke først imorgen?
Avatar billede Slettet bruger
30. december 2001 - 22:27 #5
Doh! Du skriver den 31.

Min fejl!
Avatar billede finntoft Nybegynder
30. december 2001 - 22:27 #6
I min kalender står der at den 31-12-2001 er Uge 1...
Avatar billede Slettet bruger
30. december 2001 - 22:33 #7
Nu er vi næsten enige. Den 31. december 2001 må vel være:

Uge 1 år 2001 (for det er ikke 2002 endnu)

<%
Function WeekYear(Dato)
WeekYear = \"Uge \" & DatePart(\"ww\", Dato, vbMonday, vbUseSystem) & \" år \" & DatePart(\"yyyy\", Dato, vbMonday, vbUseSystem)
End Function
%>

<%=WeekYear(#31-12-2001#)%>
Avatar billede finntoft Nybegynder
30. december 2001 - 22:41 #8
På den måde som du har lavet det skriver den det samme både ved Den 01-01-2002 og Den 31-12-2002, og det kan jo ikke værer rigtigt.

Uge 1 år 2002

Kan det?
Avatar billede Slettet bruger
30. december 2001 - 22:48 #9
Det er nok det nærmeste jeg kan komme.
Problemet er, at det er to uafhængige metodekald.
Avatar billede finntoft Nybegynder
30. december 2001 - 23:40 #10
Har selv fusket en kode, den er måske lidt rodet men den virker :D

Her er den:

<%
dato = date
uge = DatePart(\"ww\", dato, vbMonday, vbUseSystem)
aar = DatePart(\"yyyy\", dato, vbMonday, vbUseSystem)

If uge = 52 Then
    dag2 = DateAdd(\"d\", 8, dato)
    dag2aar = DatePart(\"yyyy\", dag2, vbMonday, vbUseSystem)
    dag3aar = DatePart(\"yyyy\", dato, vbMonday, vbUseSystem)
    If NOT dag2aar = dag3aar Then
        aar = aar
    Else
        dato2 = DateAdd(\"yyyy\", -1, dato)
        aar =  DatePart(\"yyyy\", dato2, vbMonday, vbUseSystem)
    End If
   
End If

If uge = 1 Then
    dag2 = DateAdd(\"d\", -8, dato)
    dag2aar = DatePart(\"yyyy\", dag2, vbMonday, vbUseSystem)
    dag3aar = DatePart(\"yyyy\", dato, vbMonday, vbUseSystem)
    If NOT dag2aar = dag3aar Then
        aar = aar
    Else
        dato2 = DateAdd(\"yyyy\", 1, dato)
        aar =  DatePart(\"yyyy\", dato2, vbMonday, vbUseSystem)
    End If
   
End If
%>

<%=uge%> - <%=aar%>



Du får 15 points fordi du hjalp mig på sporet...
Avatar billede chris Nybegynder
31. december 2001 - 03:09 #11
meget lettere at bruge dette :

    <%
    Ugenummer = DatePart(\"ww\", Date, 2, vbFirstFourDays)
    Response.Write(Ugenummer)
    %>
Avatar billede finntoft Nybegynder
31. december 2001 - 10:41 #12
Den skriever jo kun ugenummeret!
Avatar billede wilweb Nybegynder
31. december 2001 - 12:07 #13
Bare en lille oplysning 31-12-2001 er da uge 53 (Oplyst fra min Outlook)
Avatar billede wilweb Nybegynder
31. december 2001 - 12:10 #14
Det virker dog lidt ulogisk men i følge Outlook så slutter uge 53 06-01-2002 
Humm....
Avatar billede chris Nybegynder
31. december 2001 - 12:47 #15
finntoft du sætter da bare en Year() bagefter.....
Avatar billede chris Nybegynder
31. december 2001 - 12:52 #16
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