Avatar billede teutebod Nybegynder
04. juni 2004 - 19:36 Der er 9 kommentarer og
1 løsning

Dansk datetime

Hvordan får man DateTime til, at spytte danske navne for dage og måneder ud, på en computer med engelsk opsætning?
Avatar billede arne_v Ekspert
04. juni 2004 - 19:40 #1
Jeg lavede dette eksempel for en måned siden:

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 erikjacobsen Ekspert
04. juni 2004 - 19:46 #2
Prøv også
    Console.WriteLine(dt3.ToLongDateString());
Avatar billede teutebod Nybegynder
04. juni 2004 - 19:53 #3
Så det indlæg da jeg søgte lidt på eksperten, men umidlbart kan jeg ikke få det til at gøre hvad jeg vil.

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);
Console.WriteLine(CultureInfo.CurrentCulture);
Console.WriteLine(dt3.DayOfWeek);

giver resultatet:

12/5/2004
5/12/2004
12/5/2004
da-DK
Wednesday

Jeg ville gerne have fat i danske uge og måneds navne
Avatar billede arne_v Ekspert
04. juni 2004 - 19:55 #4
Sorry - du skal den anden vej.

Det gøre sådan her:

using System;
using System.Globalization;

class MainClass
{
    public static void Main(string[] args)
    {
        DateTime dt = DateTime.Now;
        Console.WriteLine(dt.ToString("dddd dd MMM yyyy"));
        Console.WriteLine(dt.ToString("dddd dd MMM yyyy", new CultureInfo("en-US", false)));
        Console.WriteLine(dt.ToString("dddd dd MMM yyyy", new CultureInfo("da-DK", false)));
    }
}
Avatar billede arne_v Ekspert
04. juni 2004 - 19:57 #5
Fuld måneds navn er MMMM
Forkortet ugedag er ddd
Avatar billede erikjacobsen Ekspert
04. juni 2004 - 19:59 #6
dt3.DayOfWeek er en enum, og Wednesday er blot navnet på tallet 3 i den
undeliggende kildetekst. Det kan ikke ændres med lidt kultur ;)
Avatar billede arne_v Ekspert
04. juni 2004 - 20:02 #7
Kulturen skal bare på ToString.

Beklager at jeg ikke fik læst spørgsmålet ordentligt i første omgang.
Avatar billede teutebod Nybegynder
04. juni 2004 - 20:04 #8
Fantastisk, det virker jo. Var sikker på at man på en eller anden måde kunne få DateTime.DayOfWeek til at give danske navne, hvis man satte et eller andet culture snask i System.Threading.Thread.CurrentThread.CurrentCulture.
Men jeg tager sikkert fejl.
Avatar billede teutebod Nybegynder
04. juni 2004 - 20:06 #9
Ah ok. Så ikke erikjacobsen's sidste indlæg får jeg posted hehe
Avatar billede arne_v Ekspert
04. juni 2004 - 20:06 #10
Det tror jeg.

Som Erik siger: en enum er bare en int i forklædning.
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