在Java中将日期设置为日历实例

use*_*026 1 java calendar

我正在使用日历功能将自定义日期设置为日历。我在下面设置它,但是给出了不同的日期。

int day = Integer.parseInt(String.valueOf(dOutput.getDwDay()));
int monthday = Integer.parseInt(String.valueOf(dOutput.getDwMonth()));
int monthyearday = Integer.parseInt(String.valueOf(dOutput.getDwYear()));

  System.out.println("day = " + day);
  System.out.println("monthday = " + monthday);
  System.out.println("monthyearday = " + monthyearday);
  System.out.println("After setting Time:  " + calendar.getTime());

  calendar.set(Calendar.DATE, day);
  calendar.set(Calendar.DAY_OF_MONTH, monthday);
  calendar.set(Calendar.DAY_OF_YEAR, monthyearday);

  int frommonth = calendar.get(Calendar.MONTH);
  int year = calendar.get(Calendar.YEAR);
  System.out.println("year = " + year);
  System.out.println("frommonth = " + frommonth);
Run Code Online (Sandbox Code Playgroud)

输出 我给这个

day = 23
monthday = 5
monthyearday = 2014
Run Code Online (Sandbox Code Playgroud)

但是它是这样生成的:

year = 2019
frommonth = 6
Run Code Online (Sandbox Code Playgroud)

use*_*432 5

您在日历上设置了错误的字段。设置如下字段:

calendar.set(Calendar.DAY_OF_MONTH, day); // day
calendar.set(Calendar.MONTH, monthday); // month
calendar.set(Calendar.YEAR, monthyearday); // year
Run Code Online (Sandbox Code Playgroud)