DateTime og Globalization
Hej Alle!Jeg er løbet lidt sur i dato og tid i .net:
Lokalt på min udviklingsmaskine kører jeg selvfølgelig dansk - det er fint, for når jeg hiver en dato ud af min database vil det være den danske notation (dd-mm-åå) og når jeg skal gemme en dato gælger den danske notation også.
Når jeg uploader min løsning til serveren kan jeg dog se at den er sat op til US-notation (mm-dd-åå), og det er jo et problem. Jeg har lavet et workaround:
Ved læsning fra DB:
DateTime d=DateTime.Parse(ds.Tables[0].Rows[t]["Dato"].ToString());
CultureInfo ci=new CultureInfo("da-DK");
String dato=d.ToString("d",ci);
Ved skrivning til DB:
//Læs dato fra textbox
CultureInfo ci=new CultureInfo("da-DK");
DateTime d=DateTime.Parse(tbxDato.Text,ci);
//Skriv til DB med US-notation
CultureInfo ci2=new CultureInfo("en-US");
String dato=d.ToString("d",ci2);
Det virker også fint, men selvfølgelig på serveren - prøver jeg lokalt virker det ikke. Jeg sidder tilbage med to spørgsmål:
1) Er det sådan "man" gør, eller findes der en smartere måde?
2) Hvordan kommer man udover problemmet med at det kun virker enten lokalt eller på serveren? (Udover at skrive det i web.config og så lave if-sætninger).
- Jacob
