无法在Java中更改Calendar DAY_OF_MONTH

时间:2018-06-13 17:18:18

标签: java date calendar dayofmonth

我在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);
    }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

如果您使用Java 8+的java.time API,可以更容易,您可以使用LocalDate.of并设置您想要的任何内容:

ng-include

格式化您可以使用的日期:

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