Avatar billede adagio Nybegynder
14. maj 2004 - 13:57 Der er 8 kommentarer og
1 løsning

date.parse som ignorerer sprog

Jeg bruger følgende kode:

Dim dato As Date = New Date
dato = dato.Parse(strDato)


Problemet er at den parse i forhold til hvordan windows er sat op. Jeg har to computere, hvor den ene kun kan læse strDato hvis den er skrevet 'på dansk', dvs: "12-05-2004", hvor den anden computer kræver at stringen skal skrives: "05-12-2004"

Hvordan kan man skrive i koden så den skal ignorere windows indstillinger, så man direkte kan vælge hvilken måde det skal skrives på?
Avatar billede adagio Nybegynder
14. maj 2004 - 13:58 #1
Ok, i eksemplet skulle jeg have brugt noget der var højere end 12 (bare sæt 15 ind istedet)
Avatar billede flashit Nybegynder
14. maj 2004 - 14:02 #2
kan man bruge Format(dato, "dddddd")
Avatar billede adagio Nybegynder
14. maj 2004 - 14:11 #3
Nej. Når jeg prøvet det, siger den:

Cast from string "dd-mm-yyyy" to type 'Date' is not valid.


Jeg skrev den ind som:

dato = Format("15-05-2004", "dd-mm-yyyy")
Avatar billede flashit Nybegynder
14. maj 2004 - 14:42 #4
hvad med:

Dim theDate As Date
theDate = Date.Now

MessageBox.Show(theDate.ToShortDateString, "dato test")
Avatar billede adagio Nybegynder
14. maj 2004 - 14:56 #5
Problemet er at jeg ikke har dato'en i en date, jeg har kun dato'en som string, som jeg så skal have over i en date
Avatar billede flashit Nybegynder
14. maj 2004 - 14:58 #6
ok, sorry
Avatar billede arne_v Ekspert
14. maj 2004 - 20:36 #7
Specify culture to Parse.

Example:

using System;
using System.Globalization;

class MainClass
{
    public static void Main(string[] args)
    {
        string s = "12-05-2004";
        DateTime dt1 = DateTime.Parse(s);
        Console.WriteLine(dt1.Day + "/" + dt1.Month + "/" + dt1.Year);
        DateTime dt2 = DateTime.Parse(s, new CultureInfo("en-US", false));
        Console.WriteLine(dt2.Day + "/" + dt2.Month + "/" + dt2.Year);
        DateTime dt3 = DateTime.Parse(s, new CultureInfo("da-DK", false));
        Console.WriteLine(dt3.Day + "/" + dt3.Month + "/" + dt3.Year);
    }
}
Avatar billede adagio Nybegynder
14. maj 2004 - 21:16 #8
Takker, ser ud til at virke :)

Forkerte sprog dog (dog ingen problemer at få det 'oversat' ;)

Giver dig point efter at have testet det på den anden computer også, bare for en sikkerheds skyld
Avatar billede adagio Nybegynder
14. maj 2004 - 21:32 #9
Har testet på anden computer, og ser ud til at virke fint på begge, så jeg takker for svaret :)
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