SimpleDateFormat.format(current Date) 不改变当前日期变量

SimpleDateFormat.format(currentDate) does not change currentDate variable

当我在我的 servlet 中做这样的事情时,我仍然得到像 Sun Jun 07 00:59:46 CEST 2020 这样的日期格式,但我想让它像 2020.06.07

我的 servlet 中的代码:

SimpleDateFormat sdfo = new SimpleDateFormat("yyyy-MM-dd");
Date currentDate = new Date();
sdfo.format(currentDate);
request.setAttribute("currentDate", currentDate);

还有我的 jsp 文件:

Current date: <c:out value="${currentDate}"/>

我应该在这里更改什么?

您已将 currentDate 而不是格式化日期字符串设置为 request

替换

sdfo.format(currentDate);
request.setAttribute("currentDate", currentDate);

String today = sdfo.format(currentDate);
request.setAttribute("currentDate", today);

我还建议您使用 java.time.LocalDate and DateTimeFormatter.ofPattern 而不是使用过时的 java.util.DateSimpleDateFormat,如下所示:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate currentDate = LocalDate.now();
String today = currentDate.format(formatter);
request.setAttribute("currentDate", today);

查看 this 以了解有关现代 date/time API 的更多信息。