我需要在 jsp 页面的标签中打印当前语言环境中的日期格式。
例如,如果用户浏览器的语言环境是 en_US,我想打印 'mm/dd/yyyy';而如果它是 en_GB 'dd/mm/yy'。
有人可以建议获取该信息的 jsp 或 jSTL 代码吗?
编辑 我不需要打印日期,我需要根据当前语言环境准确打印字符串 'dd/mm/yyyy' 或 'mm/dd/yyyy'。
最佳答案
您需要在 JSP 代码中使用 I18N 和 L18N:
<%@ page import="java.io.*,java.util.Locale" %>
获取 Locale
来自 request
:
Locale locale = request.getLocale();
并应用DateFormat
基于 Locale
.
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
String formattedDate = df.format(yourDate);
获取 Locale
的实际格式,你可以尝试这样的事情:
SimpleDateFormat sf = (SimpleDateFormat) df;
String pattern = sf.toLocalizedPattern();
使用 JSTL 的 formatDate :
When you use JSTL format tag
<fmt:formatDate>
and<fmt:formatNumber>
, JSTL automatically takes care of locale resolution. Depending on the browser’s locale setting JSTL will display the date and numbers.
<fmt:formatDate value="${date}" type="both" dateStyle="full" timeStyle="short" />
关于html - 在 JSP 页面中获取当前语言环境日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17319562/