2012-01-23 4 views
2

Salut, je suis nouveau à JSP alors désolé si ma question est triviale. J'ai essayé de rechercher la réponse sans la moindre chance.SetLocale avec la valeur "en_FR"

Quelqu'un peut-il expliquer pourquoi ce qui suit ne fonctionnerait pas

<fmt:setLocale value="en_FR" /> 
<fmt:formatDate value="${dt}" type="both" var="now" />${now} 

la date/heure sera affiché dans en_US.

Merci

Répondre

1

en_FR signifie: en anglais, avec les particularités de la langue anglaise de la France. Puisque l'anglais n'est pas une langue officielle en France, la JVM n'a pas de paramètres spécifiques pour les paramètres régionaux anglais en France, donc il revient à en: Anglais.

Et puisqu'il n'y a rien de différent concernant les dates entre en et en_US, le format est le même.

Voici quelques tests, et ce qu'il affiche:

<fmt:setLocale value="en_FR" /> 
In English (FR): <fmt:formatDate value="${dt}" type="both" var="now" />${now}<br/> 
<fmt:setLocale value="en_US" /> 
In English (US): <fmt:formatDate value="${dt}" type="both" var="now" />${now}<br/> 
<fmt:setLocale value="en_UK" /> 
In English (UK): <fmt:formatDate value="${dt}" type="both" var="now" />${now}<br/> 
<fmt:setLocale value="en" /> 
In English: <fmt:formatDate value="${dt}" type="both" var="now" />${now}<br/> 
<fmt:setLocale value="fr" /> 
In French: <fmt:formatDate value="${dt}" type="both" var="now" />${now}<br/> 

Affichage:

In English (FR): Jan 23, 2012 2:40:24 PM 
In English (US): Jan 23, 2012 2:40:24 PM 
In English (UK): Jan 23, 2012 2:40:24 PM 
In English: Jan 23, 2012 2:40:24 PM 
In French: 23 janv. 2012 14:40:24 
+0

Salut Nizet, merci pour votre réponse. Juste pour corriger une chose quand Local dans "en" il est également par défaut au modèle américain. pour obtenir le Royaume-Uni, l'environnement local doit être "en_GB". – Souad

+1

Bien sûr, il suit la langue. Un code de langue est utilisé pour choisir la langue. Ensuite, un code de pays est utilisé pour avoir les sepecificities de ce pays. Une langue est parlée dans de nombreux pays, et un pays utilise de nombreuses langues. J'ai écrit un article sur ce blog il y a quelque temps: http://jnizet.free.fr/?p=88 –

+0

Votre définition de code de locale est fausse: j'ai fait un test en java la conclusion est claire: "en_FR" est langue anglaise et légale, située en france. par exemple le GMT date 07/02/2014 18:28:00 pour une date particulière de formation montre "Ven, 07 Feb 2014 18:28:00 GMT" si locale est "en_UK", montre "ven., 07 févr. 2014 19:28:00 CET "si locale est" fr_FR "et affiche" Fri, 07 feb 2014 19:28:00 CET "si locale est" en_FR " –

0

Si vous voulez comparer les dates en France en US..I ferait comme ci-dessous ..

<jsp:useBean id="now" class="java.util.Date" /> 

<fmt:setLocale value="fr_FR" scope="session"/> 
Date in France: 
<fmt:formatDate value="${now}" dateStyle="full"/> <br/> 

<fmt:setLocale value="en_US" scope="session"/> 
Date in US: 
<fmt:formatDate value="${now}" dateStyle="full" /> <br/> 

La sortie est aussi ..

Date in France: mercredi 14 janvier 2015 
Date in US: Wednesday, January 14, 2015 
Questions connexes