如何从年,月和日获得Date对象?

Joh*_*sai 1 java date

当我使用以下代码时,Date对象是错误的.

Date date = new Date(day.getYear(), day.getMonth(), day.getDay());
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何从年,月和日的价值中获取日期对象?

Sub*_*mal 5

您可以使用Calendar该类来实现此目的.

public static void main(String[] args) throws Exception {
    Date date = new Date (115, 7, 5);
    System.out.println("date     = " + date);

    Calendar calendar = GregorianCalendar.getInstance();
    calendar.set(Calendar.DAY_OF_MONTH, 5);
    calendar.set(Calendar.MONTH, 7);
    calendar.set(Calendar.YEAR, 2015);
    calendar.set(Calendar.MILLISECOND, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    date = calendar.getTime();
    System.out.println("calendar = " + date);

    // or create directly a new clanedar instance
    // thanks Tom to mention this
    calendar = new GregorianCalendar(2015, 7, 5);
    date = calendar.getTime();
    System.out.println("calendar = " + date);
}
Run Code Online (Sandbox Code Playgroud)

产量

date     = Wed Aug 05 00:00:00 CEST 2015
calendar = Wed Aug 05 00:00:00 CEST 2015
calendar = Wed Aug 05 00:00:00 CEST 2015
Run Code Online (Sandbox Code Playgroud)