1

我在 Java 日历设置中有一个小问题。问题是我有这个代码,它返回"1980.09.12."

我可以随意更改年份和月份,但不能更改日期。

public class printableBeosztas extends HttpServlet {

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd.");
    Calendar calHetfo;

    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        setDates();
        response.getWriter().append(sdf.format(calHetfo.getTime());
    }

    public void setDates() {
        calHetfo = Calendar.getInstance();
        calHetfo.set(Calendar.MONTH, 8);
        calHetfo.set(Calendar.YEAR, 1980);
        calHetfo.set(Calendar.DAY_OF_MONTH, 3);
    }
}

任何想法?

4

1 回答 1

4

如果您使用Java 8+ 的java.time API 会更容易,您可以在其中使用LocalDate.of和设置任何您想要的东西:

LocalDate ld = LocalDate.of(1980, Month.SEPTEMBER, 12);

要格式化日期,您可以使用:

String format = ld.format(DateTimeFormatter.ofPattern("yyyy.MM.dd."));
于 2018-06-13T17:38:55.403 回答