Avatar billede digitalsoul Nybegynder
15. november 2005 - 18:41 Der er 9 kommentarer og
1 løsning

DateTime format problemer

Jeg har en textbox hvori jeg skriver en dato plus et tidspunkt ind i, formatet er: dd-mm-yyyy tt:mm eks: 16-11-2005 15:30

Og det skal jeg have lavet om til et DateTime objekt som jeg så kan sende videre til noget andet.

Hvordan gør jeg det?
Avatar billede arne_v Ekspert
15. november 2005 - 18:50 #1
prøv:

DateTime dt = DateTime.Parse(tb.Text);
Avatar billede digitalsoul Nybegynder
15. november 2005 - 18:54 #2
Det jeg forsøger at gøre er:

              //PARAMETERS
              String myLocation = "";
              String mySubject = subject.Text;
              String myDescription = description.Text;

              DateTime beginDate = DateTime.Parse(eventdate.Text);
              DateTime endDate = DateTime.Parse(enddate.Text);

              //INITIALIZATION
              MemoryStream mStream = new MemoryStream();
              StreamWriter writer = new StreamWriter(mStream);
              writer.AutoFlush = true;

              //HEADER
              writer.WriteLine("BEGIN:VCALENDAR");
              writer.WriteLine("PRODID:-//Flo Inc.//FloSoft//EN");
              writer.WriteLine("BEGIN:VEVENT");

              //BODY
              writer.WriteLine("DTSTART:" + beginDate.ToUniversalTime().ToString("yyyyMMdd\\THHmmss\\Z"));
              writer.WriteLine("DTEND:" + endDate.ToUniversalTime().ToString("yyyyMMdd\\THHmmss\\Z"));
              writer.WriteLine("LOCATION:" + myLocation);
              writer.WriteLine("DESCRIPTION;ENCODING=QUOTED-PRINTABLE:" + myDescription);
              writer.WriteLine("SUMMARY:" + mySubject);

              //FOOTER
              writer.WriteLine("PRIORITY:3");
              writer.WriteLine("END:VEVENT");
              writer.WriteLine("END:VCALENDAR");

              //MAKE IT DOWNLOADABLE
              Response.Clear(); //clears the current output content from the buffer
              Response.AppendHeader("Content-Disposition", "attachment; filename=Add2Calendar.vcs");
              Response.AppendHeader("Content-Length", mStream.Length.ToString());
              Response.ContentType = "application/download";
              Response.BinaryWrite(mStream.ToArray());
              Response.End();
Avatar billede digitalsoul Nybegynder
15. november 2005 - 18:54 #3
Hvis jeg bruger parse, så får jeg en fejl:

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.
Avatar billede arne_v Ekspert
15. november 2005 - 19:04 #4
i hvilket format angiver du tiden ?

som i "16-11-2005 15:30" ?
Avatar billede digitalsoul Nybegynder
15. november 2005 - 19:08 #5
Ja, det er den tekst jeg skriver ind i textboxen ude i webformen:

eksempelvis: 16-11-2005 15:30
Avatar billede arne_v Ekspert
15. november 2005 - 19:11 #6
prøv så:

DateTime dt = DateTime.Parse(s, new CultureInfo("da-DK", false));
Avatar billede digitalsoul Nybegynder
15. november 2005 - 19:16 #7
Sweet, så virkede det...

Det var altså fordi den troede at formatet var default(en-UK), og dermed var 16 en ugyldig måned?

Jeg takker mange gange :)
Avatar billede digitalsoul Nybegynder
15. november 2005 - 19:17 #8
Hov, kom da lige til at lave et svar der istedet for en kommentar, smider du et svar :)
Avatar billede arne_v Ekspert
15. november 2005 - 19:24 #9
kommer her
Avatar billede arne_v Ekspert
15. november 2005 - 19:25 #10
eller at 15 er ugyldig time (3 PM !)
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