WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Tidformat i ASP.Net (https://www.wn.se/forum/showthread.php?t=8125)

cliffjesus 2005-05-25 01:11

När jag skriver ut datum från min accesdatabas som är i formatet yyyy-mm-dd i ASP.Net, skrivs det ut datum + tid (yyyy-mm-dd hh:mm:ss).

Varför blir det så?
Kan man ställa in hur datum skrivs ut utan att formatera om varje utskrift för sig?

eg0master 2005-05-25 07:48

Access har ju ett formatfält när man designar en tabell. Har ingen aning om det slår igenom, men...

Annars skulle jag nog påstå att det är god sed att formatera när datumet skrivs ut. För att kunna ha olika format för olika personer/språk t.ex. Det är knappast bra design att låta allt vara "rätt formatterat" i databasen...

Robert 2005-05-25 08:56

Ta först ett helhetsgrepp och testa att ändra din globalisationinställning i web.config till typ:

<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
uiCulture="sv-SE"
culture="sv-SE"
/>

cliffjesus 2005-05-25 15:32

Jag brukar formatera datumen när de skrivs ut med metoden
DateTime.Parse("dataposten").ToString("dd MMM")

Eller liknande, men det skiter sig när datafältet är tomt, då får jag error:
System.InvalidCastException: Conversion from type 'DBNull' to type 'String' is not valid

Tänkte om det finns nått sätt att slippa formatera om datumen på plats i koden, men jag kommer ju på att jag inte alltid vill ha samma formatering, så det blir ju inte optimalt det heller.

Hur får man ovanstående kod att funka med tomma strängar då? (det måste ju gå kan man tycka)

cliffjesus 2005-05-25 18:05

Jag löste problemet själv.
Då det inte funkade att använda DateTime.Parse var när jag skulle binda data till textrutor.
Det visade sig att det lättaste sättet att komma runt det var att sätta textbokens maxlängd till tio. Då fick bara datumet plats och inte tiden.

En ganska analog lösning, men det funkar skitbra...

eg0master 2005-05-25 20:53

Citat:

Originally posted by cliffjesus@May 25 2005, 15:32
[...]
Hur får man ovanstående kod att funka med tomma strängar då? (det måste ju gå kan man tycka)

Kontrollera om strängen är tom innan du försöker parsa den kanske? ;)

Robert 2005-05-25 23:37

Citat:

Originally posted by cliffjesus@May 25 2005, 15:32
Jag brukar formatera datumen när de skrivs ut med metoden
DateTime.Parse("dataposten").ToString("dd MMM")

Eller liknande, men det skiter sig när datafältet är tomt, då får jag error:
System.InvalidCastException: Conversion from type 'DBNull' to type 'String' is not valid

Tänkte om det finns nått sätt att slippa formatera om datumen på plats i koden, men jag kommer ju på att jag inte alltid vill ha samma formatering, så det blir ju inte optimalt det heller.

Hur får man ovanstående kod att funka med tomma strängar då? (det måste ju gå kan man tycka)

try
...
catch


Alla tider är GMT +2. Klockan är nu 13:24.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson