![]() |
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? |
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... |
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" /> |
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) |
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... |
Citat:
|
Citat:
... 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