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?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
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); } }
Prøv også Console.WriteLine(dt3.ToLongDateString());
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
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))); } }
Fuld måneds navn er MMMM Forkortet ugedag er ddd
dt3.DayOfWeek er en enum, og Wednesday er blot navnet på tallet 3 i den undeliggende kildetekst. Det kan ikke ændres med lidt kultur ;)
Kulturen skal bare på ToString. Beklager at jeg ikke fik læst spørgsmålet ordentligt i første omgang.
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.
Ah ok. Så ikke erikjacobsen's sidste indlæg får jeg posted hehe
04. juni 2004 - 20:06
#10
Det tror jeg. Som Erik siger: en enum er bare en int i forklædning.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.