Avatar billede koldstar Nybegynder
03. november 2003 - 09:15 Der er 3 kommentarer og
1 løsning

fejl ved ugenummer

hej
er det bare mig eller er det her mystisk?
Nednstående kode skulle efter min bedste overbevisning returnere 1... men den returnerer 53... er det mig eller .net der ef fejl i??


Dim d As Date = "29/12/2003"
MsgBox(DatePart(DateInterval.WeekOfYear, d, FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFourDays))
Avatar billede wisen Nybegynder
03. november 2003 - 10:22 #1
Der kan godt være 53 uger på et år - men 2003 er vist ikke sådan et år (kan ikke lige huske reglen :)
Avatar billede koldstar Nybegynder
03. november 2003 - 14:10 #2
har selv løst det..
det er åbenbart torsdag der afgører ugenumret...
så hvis andre skulle få samme problem kan i se løsningen her:
    Public Function getWeekNumber(ByVal org_date As Date) As Integer
        Dim New_Date As Date
        Dim weekday As Integer = DatePart(DateInterval.Weekday, org_date, FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFourDays)
        Dim value As Integer = 0

        value = (4 - weekday)
        New_Date = DateAdd(DateInterval.DayOfYear, value, org_date)
        Return DatePart(DateInterval.WeekOfYear, New_Date, FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFourDays)
    End Function
Avatar billede dawin_dk Nybegynder
03. november 2003 - 14:11 #3
der er en fejl i MS's udregning af uge... som beskrevet her:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q200299

her havde vi en laang diskussion om uger osv og kom frem til den løsning der virker i alm VB (ikke .et) men der er mange paraleller
http://www.eksperten.dk/spm/406685
Avatar billede koldstar Nybegynder
03. november 2003 - 15:30 #4
Ja, den side har jeg også set..
Jeg tror jeg holder mig til min egen løsning.. :o)
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