Avatar billede websam Nybegynder
27. september 2006 - 13:05 Der er 14 kommentarer og
1 løsning

Fejl på noget dato ?

Hejsa,

Jeg har lavet følgende metode :

Public Function PrintWeekDates(ByVal year As Integer, _
                                      ByVal week As Integer) As ArrayList
    Dim dt As DateTime = New DateTime(year - 1, 12, 29)
    Dim objList As New ArrayList
    While WeekNumber(dt.Year, dt.Month, dt.Day) > 1
        dt = dt.AddDays(1)
    End While
    While WeekNumber(dt.Year, dt.Month, dt.Day) < week
        dt = dt.AddDays(1)
    End While
    While WeekNumber(dt.Year, dt.Month, dt.Day) = week
        objList.Add(dt.ToString("dd-MM-yyyy"))
        dt = dt.AddDays(1)
    End While
    Return objList
End Function

Den bruger jeg så sådan her :

Dim objArray1 As ArrayList = objFunc.PrintWeekDates(DatePart(DateInterval.Year, NowDate), DatePart(DateInterval.WeekOfYear, NowDate))

Og forsøger at bruge den på denne måde :

DateTime.Parse(objArray1(0)).AddDays(-2)

Men når jeg går dette så får jeg denne fejl :

String was not recognized as a valid DateTime.

For det første så har det virket i en lang periode, men nu gør det ikke er der nogen der kan hjælpe mig med dette ?

/Websam
Avatar billede nielle Nybegynder
27. september 2006 - 18:38 #1
Har du prøvet at udskrive objArray1(0) for at se hvad der egentlig ligger i denne?
Avatar billede websam Nybegynder
27. september 2006 - 20:39 #2
Ja det har jeg den skriver en dato eksempel 27-09-2006
Avatar billede nielle Nybegynder
27. september 2006 - 20:47 #3
Får du så også fejl hvis du prøver med koden:

DateTime.Parse("27-09-2006").AddDays(-2)

?
Avatar billede websam Nybegynder
27. september 2006 - 21:01 #4
Det har jeg lige testet og det giver samme fejl ?!?
Avatar billede nielle Nybegynder
27. september 2006 - 21:04 #5
Hmm, ikke her hos mig.

Men jeg tror da at vi kan konstatere at problemet ikke er i PrintWeekDates().

Er der noget mere kode?
Avatar billede nielle Nybegynder
27. september 2006 - 21:06 #6
Du har nok fået sat den til at forvente amerikansk datoformat i stedet for dansk.
Avatar billede websam Nybegynder
27. september 2006 - 21:11 #7
Hvor skulle jeg have sat den til det henne ? Det har jo som sagt virket i en lang periode uden jeg har pillet ved noget ?!?
Avatar billede websam Nybegynder
27. september 2006 - 21:13 #8
Jeg testede lige med 09/27/2006 og så er der ingen problemer, så noget kunne tyde på at det nok er fordi det er dansk datoformat den får fra min PrintWeekDates()
Avatar billede websam Nybegynder
27. september 2006 - 21:16 #9
Kan jeg så ikke på en eller anden måde lave det om til amerikansk lige i dette til fælde ?
Avatar billede nielle Nybegynder
27. september 2006 - 21:17 #10
Måske er det serverens standard-opsætning som har ændret sig - f.eks. i forbindelse med en sikkerhedsopdatering.

Din PrintWeekDates() har *altid* givet dansk format. det ligger i denne linje:

objList.Add(dt.ToString("dd-MM-yyyy"))

Problemet er hvis din server på en eller anden måde er skiftet fra dansk til amerikansk format, for så vil DateTime.Parse(...) gå fra at forvente at få datoerne på dansk format til at forvente dem på amerikansk.
Avatar billede nielle Nybegynder
27. september 2006 - 21:27 #11
For at tvinge Parse() til at "snakke dansk", kan du f.eks. gøre sådan:

DateTime.Parse("27-09-2006", New System.Globalization.CultureInfo("da-DK")).AddDays(-2)
Avatar billede websam Nybegynder
27. september 2006 - 21:27 #12
Den skal give dansk da den da det skal vises på dansk til brugeren så det er fint nok kan jeg så ikke lave noget kode som tager den danske dato og om skriver den til amerihansk ?
Avatar billede websam Nybegynder
27. september 2006 - 21:33 #13
Sorry så ikke lige dit indlæg, følgende ser ud til at virke :

DateTime.Parse("27-09-2006", New System.Globalization.CultureInfo("da-DK")).AddDays(-2)

så smid et svar ;o)
Avatar billede nielle Nybegynder
27. september 2006 - 21:34 #14
Svar :^)
Avatar billede websam Nybegynder
27. september 2006 - 21:52 #15
tak for hjælpen ;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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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