Avatar billede rmjdk Nybegynder
09. februar 2010 - 17:00 Der er 3 kommentarer

DateTime kultur konvertering

Hejsa

Jeg har nogle datoer jeg skal konvertere til specifikke kulturer.

Jeg har f.eks. inputdato "22/01/10". Det skal jeg have konverteret til f.eks. en-GB hvor den skal hedde "22.01.10".

Jeg kan godt parse inputdatoen, men hvis jeg bruger DateTime.ToString() med et custom format, så får jeg ikke kulturspecifikke seperatorer med (altså om det er ., - eller /).

Jeg håber jeg har forklaret mig tydeligt nok til at det giver mening.

På forhånd tak!
Avatar billede arne_v Ekspert
09. februar 2010 - 17:11 #1
Enten kan du bruge de navngivne kulturer og leve med Microsofts opfattelse af formatet.

Eller saa kan du modificere en culture til at vaere som du vil have den.

Kode snippet:

            ci = (CultureInfo)CultureInfo.CurrentCulture.Clone();
            DateTimeFormatInfo dtf = (DateTimeFormatInfo)ci.DateTimeFormat.Clone();
            dtf.DateSeparator = "/";
            ci.DateTimeFormat = dtf;
Avatar billede Syska Mester
09. februar 2010 - 17:20 #2
hmmm ... ja, jow ...

http://stackoverflow.com/questions/785795/datetime-format-in-c

DateTime dt = DateTime.Now;

CultureInfo gb = new CultureInfo("en-GB");
CultureInfo us = new CultureInfo("en-US");
CultureInfo dk = new CultureInfo("da-DK");

Console.WriteLine("GB: {0}", dt.ToString("MM/dd/yyyy", gb));
Console.WriteLine("US: {0}", dt.ToString("MM/dd/yyyy", us));
Console.WriteLine("DK: {0}", dt.ToString("MM/dd/yyyy", dk));

Som de skriver på siden ... jeg ved intet om hvad seperator de bruger i GB, men der er i hvert flad en bug hvis de bruger "." :-)

mvh
Avatar billede arne_v Ekspert
01. marts 2010 - 01:05 #3
rmjdk?
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

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