Java fmt:formatDate显示的月份太多
我试图使用fmt:formatDate标记在我的JSP页面中显示一个日期 因此,在我的JSP中,我正在这样做:Java fmt:formatDate显示的月份太多,java,datetime,jstl,Java,Datetime,Jstl,我试图使用fmt:formatDate标记在我的JSP页面中显示一个日期 因此,在我的JSP中,我正在这样做: <td><fmt:formatDate pattern="dd-MM-yyyy" value="${document.documentDate}" /></td> XMLGregorianCalendar值是正确的。cal.getTime()也是正确的。(我调试了cal.getTime.getMonth()值 虽然我的JSP显示的一个月太多了!但它
<td><fmt:formatDate pattern="dd-MM-yyyy" value="${document.documentDate}" /></td>
XMLGregorianCalendar值是正确的。cal.getTime()
也是正确的。(我调试了cal.getTime.getMonth()
值
虽然我的JSP显示的一个月太多了!但它显示的不是2014年1月1日,而是2014年1月2日(dd-MM-yyyy)
有什么想法吗?这就是问题所在:
cal.set(Calendar.MONTH, date.getMonth());
XMLGregorianCalendar
使用的月份范围为1-12。java.util.Calendar
使用的月份范围为0-11。您希望:
cal.set(Calendar.MONTH, date.getMonth() - 1);
还注意到,您可能希望使用<代码>新GRGORICONALADARARE()/<代码>而不是<代码>日历.GETStaseNo.()/代码>,以避免它不是GRIGRIALORYNETRONE…而且您还应该考虑您是否真的希望它在系统默认时区中。(可能是这样,可能不是。如果这是服务器上运行的代码,我建议您不要-为什么服务器的位置要更改结果?
这就是问题所在:cal.set(Calendar.MONTH, date.getMonth());
XMLGregorianCalendar
使用的月份范围为1-12。java.util.Calendar
使用的月份范围为0-11。您希望:
cal.set(Calendar.MONTH, date.getMonth() - 1);
还注意到,您可能希望使用<代码>新GRGORICONALADARARE()/<代码>而不是<代码>日历.GETStaseNo.()/代码>,以避免它不是GRIGRIALORYNETRONE…而且您还应该考虑您是否真的希望它在系统默认时区中。(可能是这样,可能不是。如果这是服务器上运行的代码,我建议您不要-为什么服务器的位置要更改结果?
这就是问题所在:cal.set(Calendar.MONTH, date.getMonth());
XMLGregorianCalendar
使用的月份范围为1-12。java.util.Calendar
使用的月份范围为0-11。您希望:
cal.set(Calendar.MONTH, date.getMonth() - 1);
还注意到,您可能希望使用<代码>新GRGORICONALADARARE()/<代码>而不是<代码>日历.GETStaseNo.()/代码>,以避免它不是GRIGRIALORYNETRONE…而且您还应该考虑您是否真的希望它在系统默认时区中。(可能是这样,可能不是。如果这是服务器上运行的代码,我建议您不要-为什么服务器的位置要更改结果?
这就是问题所在:cal.set(Calendar.MONTH, date.getMonth());
XMLGregorianCalendar
使用的月份范围为1-12。java.util.Calendar
使用的月份范围为0-11。您希望:
cal.set(Calendar.MONTH, date.getMonth() - 1);
还注意到,您可能希望使用<代码>新GRGORICONALADARARE()/<代码>而不是<代码>日历.GETStaseNo.()/代码>,以避免它不是GRIGRIALORYNETRONE…而且您还应该考虑您是否真的希望它在系统默认时区中。(也许你会,也许你不会。如果这是服务器上运行的代码,我建议你不要-为什么服务器的位置要更改结果?
月份是以零为基础的,所以你应该使用:cal.set(Calendar.MONTH, date.getMonth()-1);
月份是以零为基础的,因此您应该使用:
cal.set(Calendar.MONTH, date.getMonth()-1);
月份是以零为基础的,因此您应该使用:
cal.set(Calendar.MONTH, date.getMonth()-1);
月份是以零为基础的,因此您应该使用:
cal.set(Calendar.MONTH, date.getMonth()-1);