ASPNL logo (1 kb)
maandag 12 mei 2008




Microsoft MVP

.NET Codewise Community
<< vorige | overzicht | volgende >>

Nederlandse datum en getalnotatie

Door Michiel van Otegem
12 december 2000

Voor ons Nederlanders (en dit geldt ook voor de Belgen) hebben de Amerikaanse datum, getalnotatie, geldnotatie enz. weinig nut. Eigenlijk willen we gewoon onze eigen notaties gebruiken, en dat kan ook. Per ASP versie verschilt echter wel hoe makkelijk en hoe flexibel dit kan.

In ASP 1.0 moet de server via het Control Panel ingesteld worden op de juiste 'locale'. Voer hiervoor de volgende stappen uit:

  • Open Regional Settings in het Control Panel
  • Zet de drop-down op 'Dutch (Standard)' of 'Dutch (Belgian)'
  • Vink 'Set as system default locale' aan
  • Klik op OK
  • Installeer de Nederlandse bestanden en herstart indien nodig
Het hele systeem staat nu op het Nederlandse locale, en dit kan nog wel eens voor verrassingen zorgen, zeker als je code van derden gebruikt. Daar komt bij dat ALLE programma's op de server hier nu mee werken.

Vanaf ASP 2.0 kun je de locale tijdens run-time veranderen met <% Session.LCID = 1043%>, dit kan zelfs meerdere keren in een pagina (zie test-script onderaan). Het nadeel van deze methode is dat het niet werkt als het Session object niet beschikbaar is, doordat Session ondersteuning is uitgeschakeld (in de hele website, of op de betreffende pagina).

In ASP 3.0 kun je bovenin de pagina aangeven welke locale voor deze pagina gebruikt moet worden. Dit kan door <%@ LCID=1043%> (voor België 2067) bovenaan de pagina te zetten.
In ASP 2.0 kun je deze code ook bovenaan in de pagina zetten zonder dat dit een foutmelding geeft. Dit is echter niet van invloed op het resultaat.

Het script hieronder laat zien wat er gebeurt als je via het Session object de locale verandert. Je kunt ook zien of deze site op ASP 2.0 of ASP 3.0 draait. In het laatste geval zouden de eerste twee opdrachten hetzelfde resultaat moeten geven als die er na. Anders geven ze Amerikaanse waarden weer.

locale.asp
<%@ LCID=1043%>
<%
Response.Write FormatCurrency(1000) & "<br>"
Response.Write FormatDateTime(Now(), 1) & "<br>"

Session.LCID = 1043
Response.Write FormatCurrency(1000) & "<br>"
Response.Write FormatDateTime(Now(), 1) & "<br>"

Session.LCID = 2067
Response.Write FormatCurrency(1000) & "<br>"
Response.Write FormatDateTime(Now(), 1) & "<br>"
%>

<< vorige | ^ naar boven | overzicht | volgende >>
copyright 2000-2007 ASPNL