21. oktober 2003 - 20:24Der er
1 kommentar og 1 løsning
Undersøge om uge 53 eksisterer ud fra dato
Hej!
Jeg vil gerne beregne om uge 53 findes i et givent år, følgende ISO-8601 oplysninger skulle kunne bruges:
Ikke skudår:
Uge 53 indeholder altid datoen 3. januar året efter, men uge 53 eksisterer kun hvis 27. december var en søndag. Uge 53 indeholder altid datoen 2. januar året efter, men uge 53 eksisterer kun hvis 26. december var en lørdag eller en søndag.
Skudår:
Uge 53 indeholder altid datoen 2. januar året efter, men uge 53 eksisterer kun hvis 26. december var en lørdag eller en søndag.
Og hvordan er det nu liige med skudår?
Her gælder følgende:
Et år er et skudår hvis årstallet er deleligt med 4. Dette gælder dog ikke årstal delelige med 100, bortset fra dem, der er delelige med 400.
Det kan jeg godt klare, men den med uge 53 er jeg lidt lost i...
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
21. oktober 2003 - 21:10#1
Nåh, men jeg fik regnet mig frem til skudåret, måske er der nogen der vil hjælpe mig til at komme videre med min beregning omkring uge 53? her er skudåret beregnet:
intYear = 2004
'Et år er et skudår hvis årstallet er deleligt med 4. Dette gælder dog ikke årstal delelige med 100, bortset fra dem, der er delelige med 400.
skudaar = 0
If intYear Mod 4 = 0 Then
skudaar = 1
If intYear Mod 100 = 0 Then
skudaar = 0
If intYear Mod 400 = 0 Then
skudaar = 1
Else
skudaar = 0
End If
End If
End If
Response.Write skudaar
Synes godt om
Slettet bruger
22. oktober 2003 - 21:28#2
Jeg fandt ud af det, her er koden hvis nogen skulle få brug for den:
'Et år er et skudår hvis årstallet er deleligt med 4. Dette gælder dog ikke årstal delelige med 100, bortset fra dem, der er delelige med 400.
Function BeregnSkudaar(intYear) BeregnSkudaar = 0
If intYear Mod 4 = 0 Then BeregnSkudaar = 1
If intYear Mod 100 = 0 Then BeregnSkudaar = 0
If intYear Mod 400 = 0 Then BeregnSkudaar = 1 Else BeregnSkudaar = 0 End If End If End If
End Function
Function BeregnUge53(Aar) BeregnUge53 = 0
skudaar = (BeregnSkudaar(Aar)) 'Ikke skudår: If skudaar = 0 Then sddec = "27-12-" & Aar dtmDate2 = datevalue(sddec) intWeekDay2 = WeekDay(dtmDate2) ugedag2 = WeekDayName(intWeekDay2) If ugedag2 = "søndag" Then 'Hvis d. 27 dec. var en søndag skal uge 53 optræde BeregnUge53 = 1 End If 'Uge 53 indeholder altid datoen 3. januar året efter, 'men uge 53 eksisterer kun 'hvis 27. december var en søndag. End If
'Skudår: If skudaar = 1 Then sddec = "26-12-" & Aar dtmDate2 = datevalue(sddec) intWeekDay2 = WeekDay(dtmDate2) ugedag2 = WeekDayName(intWeekDay2) If ugedag2 = "lørdag" OR ugedag2 = "søndag" Then 'Hvis d. 26 dec. var en lørdag eller søndag skal uge 53 optræde BeregnUge53 = 1 End If 'Uge 53 indeholder altid datoen 2. januar året efter, 'men uge 53 eksisterer kun 'hvis 26. december var en lørdag eller en søndag. End If
End Function
'Du kan beregne om det er skudår ved at kalde med BeregnSkudaar("2004") 'Du kan beregne om uge 53 skal med ved at kalde med (BeregnUge53("2004")
Synes godt om
Ny brugerNybegynder
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.