2012-01-23 4 views
2

Привет, я новичок в JSP, так что извините, если мой вопрос тривиален. Я попытался исследовать ответ без везения.SetLocale со значением «en_FR»

Может кто-нибудь объяснить, почему следующий не будет работать

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

текущая дата/время будет отображаться в en_US местности.

Благодаря

ответ

1

en_FR означает: на английском языке, с особенностями английского языка из Франции. Поскольку английский язык не является официальным языком во Франции, JVM не имеет каких-либо конкретных настроек для английского языка во Франции, поэтому он возвращается к en: английский.

И так как между en и en_US нет ничего нового, формат будет таким же.

Вот некоторые испытания, и то, что он показывает:

<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/> 

Дисплей:

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

Hi Nizet, спасибо за ваш ответ. Просто, чтобы исправить 1 вещь, когда Local в «en» также по умолчанию используется шаблон US. чтобы получить британский язык, языковой стандарт должен быть «en_GB». – Souad

+1

Конечно, это следует за языком. Для выбора языка используется код языка. Затем код страны используется для определения специфики этой страны. Во многих странах говорят на языке, и страна использует много языков. Я написал сообщение в блоге об этом некоторое время назад: http://jnizet.free.fr/?p=88 –

+0

Неверное определение кода локали: я сделал несколько тестов в java, вывод ясен: «en_FR» is юридический и средний английский язык, расположенный во Франции. например, дата по Гринвичу 07/02/2014 18:28:00 для одного определенного времени, показывая шоу «Пт, 07 февраля 2014 18:28:00 GMT», если локаль «en_UK», показывает «ven., 07 févr. 2014 19:28:00 CET «если локаль« fr_FR »и показывает« Fri, 07 фев 2014 19:28:00 CET », если locale is« en_FR » –

0

Если вы хотите сравнить Даты во Франции в US..I будет делать, как показано ниже ..

<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/> 

выход, как ..

Date in France: mercredi 14 janvier 2015 
Date in US: Wednesday, January 14, 2015 
Смежные вопросы