Avatar billede websam Nybegynder
27. februar 2006 - 15:17 Der er 17 kommentarer og
1 løsning

String was not recognized as a valid DateTime.

Jeg har denne linie :

    Dim ToDay As DateTime = DateTime.Parse(Request.QueryString("d"))

Hvor min Request.QueryString("d") ser således ud 2/27/2006 men jeg får denne fejl :

    String was not recognized as a valid DateTime.

Hvad skal der til for at løse dette ?

/Websam
Avatar billede snepnet Nybegynder
27. februar 2006 - 15:32 #1
Dim ToDay As DateTime = DateTime.Parse(Request.QueryString("d"), new CultureInfo("en-US"))

alternativt kan du sætte din culture til en-US i pagedirective/konfigurationsfiler... men så bliver det lidt mere generelt.

mvh
Avatar billede websam Nybegynder
27. februar 2006 - 15:35 #2
Hvad ligger CultureInfo under, altså Imports System.hvad ?
Avatar billede websam Nybegynder
27. februar 2006 - 15:37 #3
Fandt den :

System.Globalization.CultureInfo
Avatar billede snepnet Nybegynder
27. februar 2006 - 15:43 #4
jeps :o)
Avatar billede websam Nybegynder
27. februar 2006 - 15:55 #5
ok nu bliver det underlift på min udviklings maskine som er med dansk styrre system der virker det når jeg laver følgende :

    Dim ToDay As DateTime = DateTime.Parse("2/27/2006", new CultureInfo("en-US"))

men på min på min server som er en win 2000 server på engelsk hvor jeg laver det samme får jeg stadigt :

    String was not recognized as a valid DateTime.

Det virker lidt sært ???

/Websam
Avatar billede snepnet Nybegynder
27. februar 2006 - 15:57 #6
er det det samme format du sender i din querystring på begge maskiner (altså 2/27/2006).
mvh
Avatar billede websam Nybegynder
27. februar 2006 - 16:01 #7
Der er vist noget jeg lige skal have kigget lidt nærmere på for laver jeg simpelt denne :

    Dim ToDay As DateTime = DateTime.Parse("2/27/2006", New System.Globalization.CultureInfo("en-US"))
    Response.Write(ToDay)

Så bliver resultatet godt nok på min server :

    2/27/2006 12:00:00 AM

jeg vender lige tilbage senere ;o)

/Websam
Avatar billede snepnet Nybegynder
27. februar 2006 - 16:04 #8
ahh... du bruger slet ikke din questring - havde jeg ikke lige set i dit første eksempel.
jeg ville mene at den skulle være gangbar begge steder på den måde - med mindre du har forskellige settings på maskinerne (altså at et datoformat under den respektive culture er anderledes).
mvh
Avatar billede websam Nybegynder
27. februar 2006 - 16:05 #9
Jo jeg bruger min querystring dette var blot for lige at teste ;o)
Avatar billede websam Nybegynder
27. februar 2006 - 16:10 #10
Det der pisser mig af lige nu er at jeg ikke kan se i hvilken linie det går galt på min server hvrofor får jeg ikke det vist når jeg har compilet med debug og ikke release ???

/Websam
Avatar billede websam Nybegynder
27. februar 2006 - 16:14 #11
Datoformatet på min server er M/d/yyyy så det skulle være rigtigt nok.
Avatar billede snepnet Nybegynder
27. februar 2006 - 16:18 #12
har du sat customerrors til false i config? - ellers kan du jo altid bruge traceren til at skrive meddelelser i.
mvh
Avatar billede websam Nybegynder
27. februar 2006 - 16:20 #13
nej den er sat til true men den viser ikke linie nummeret.

Server Error in '/' Application.
--------------------------------------------------------------------------------

String was not recognized as a valid DateTime.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.FormatException: String was not recognized as a valid DateTime.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace:


[FormatException: String was not recognized as a valid DateTime.]
  System.DateTimeParse.GetDayOfNNY(DateTimeResult result, DateTimeRawInfo raw, DateTimeFormatInfo dtfi) +202
  System.DateTimeParse.ProcessTerminaltState(Int32 dps, DateTimeResult result, DateTimeRawInfo raw, DateTimeFormatInfo dtfi) +142
  System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles) +488
  System.DateTime.Parse(String s, IFormatProvider provider, DateTimeStyles styles) +30
  System.DateTime.Parse(String s, IFormatProvider provider) +11
  System.DateTime.Parse(String s) +7
  Venset.ShowWeekDays.Page_Load(Object sender, EventArgs e)
  System.Web.UI.Control.OnLoad(EventArgs e) +67
  System.Web.UI.Control.LoadRecursive() +35
  System.Web.UI.Control.LoadRecursive() +98
  System.Web.UI.Control.LoadRecursive() +98
  System.Web.UI.Control.LoadRecursive() +98
  System.Web.UI.Page.ProcessRequestMain() +750




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET Version:1.1.4322.2032
Avatar billede websam Nybegynder
27. februar 2006 - 16:23 #14
<compilation defaultLanguage="vb" debug="true" />
<customErrors mode="Off" />

er instillingerne i min config fil så det burde da være ok ?

/Websam
Avatar billede websam Nybegynder
27. februar 2006 - 16:40 #15
Det jeg mangler som jeg får på min udviklings maskine er dette :


Line 44:            maxHits = objWeek.GetMaxWeek(DatePart(DateInterval.WeekOfYear, NowDate))
Line 45:        Else
Line 46:            objDay.intDate = DateTime.Parse(Request.QueryString("d"), New System.Globalization.CultureInfo("en-US"))
Line 47:            objWeek.intDate = DateTime.Parse(Request.QueryString("d"), New System.Globalization.CultureInfo("en-US"))
Line 48:            NowDate = DateTime.Parse(Request.QueryString("d"), New System.Globalization.CultureInfo("en-US"))

og instillingerne er de samme med hensyn til debug så det virker lidt underligt med mindre det bare ikke er det samme om den køre server eller winXP
Avatar billede snepnet Nybegynder
27. februar 2006 - 17:23 #16
lav en try/catch uden om den kode hvor du konverterer datoen - og print fejlen til skærmen derfra - eller brug traceren - bare så du kan konstatere at det er det du forventer der kikser.
mvh
Avatar billede websam Nybegynder
27. februar 2006 - 18:12 #17
Fejlen lå et helt andet sted hvor jeg lavede visningen af et datoformat til dansk det var koden ikke så vild med, så din løsning virker nu så smid et svar ;o)
Avatar billede snepnet Nybegynder
27. februar 2006 - 18:32 #18
kommer her.
mvh
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