Java SimpleDataFormat问号而不是月份

Java SimpleDataFormat问号而不是月份,java,jsp,datetime,Java,Jsp,Datetime,我想显示当前的月份、日期、年份和时间。 我有一个.jsp文件,其中包含以下代码: <% SimpleDateFormat format = new SimpleDateFormat("MMM dd,yyyy hh:mm"); String date = format.format(new Date()); %> <%=date%> 因此,不显示月份。 但是当我使用M而不是MMM时,它会起作用: 10 13,2016 04:17 但是我需要一个月的全

我想显示当前的月份、日期、年份和时间。 我有一个.jsp文件,其中包含以下代码:

 <%
   SimpleDateFormat format = new SimpleDateFormat("MMM dd,yyyy  hh:mm");
   String date = format.format(new Date());
 %>

<%=date%>
因此,不显示月份。 但是当我使用
M
而不是
MMM
时,它会起作用:

10 13,2016 04:17
但是我需要一个月的全名,而且
MMM
MMMM
都不起作用。
MMMM
给出了类似的输出:

??????? 13,2016 04:18
如何解决这个问题?

尝试
SimpleDateFormat(“mmmdd,yyyyy hh:mm”,Locale.US)

如果您试图在外国区域设置中打印日期(或者如果您的区域设置似乎错误),您可以在您的环境中更改日期,以便它能够正确生成月份名称

您可以在Windows中使用控制面板设置系统区域设置,如图所示。您还可以按照本详细信息中的讨论更改每个用户的语言环境

如果您使用的是linux,您可以在系统配置或主目录中设置您的区域设置,如前所述

尝试
SimpleDataFormat(“MMM-dd,yyyy-hh:mm”,locale.US)

如果您试图在外国区域设置中打印日期(或者如果您的区域设置似乎错误),您可以在您的环境中更改日期,以便它能够正确生成月份名称

您可以在Windows中使用控制面板设置系统区域设置,如图所示。您还可以按照本详细信息中的讨论更改每个用户的语言环境


如果您在linux上,您可以在系统配置或主目录中设置您的语言环境,正如前面讨论的那样

在Java中对我很好。你在哪个地区?试试SimpleDateFormat(“mmmdd,yyyyy hh:mm”,locale.US)。@blackpen成功了!为什么不使用
Locale
,它就不能显示它呢?我假设您在linux上。尝试“locale”命令。签入你的~/.bashrc和~/.profile。您可能正在使用外国语言区域设置。您需要用任何外国语言显示日期吗?如果没有,您可以在shell环境中设置语言环境。我想这会解决你的问题。@blackpen我在Windows上,但还是谢谢你,我会研究这个话题的。您可以复制您的答案,这样我就可以接受了,也许?在Java中对我来说很好。你在哪个地区?试试SimpleDateFormat(“mmmdd,yyyyy hh:mm”,locale.US)。@blackpen成功了!为什么不使用
Locale
,它就不能显示它呢?我假设您在linux上。尝试“locale”命令。签入你的~/.bashrc和~/.profile。您可能正在使用外国语言区域设置。您需要用任何外国语言显示日期吗?如果没有,您可以在shell环境中设置语言环境。我想这会解决你的问题。@blackpen我在Windows上,但还是谢谢你,我会研究这个话题的。你可以抄下你的答案让我接受,也许吧?
??????? 13,2016 04:18