Java: Month/year number to DateTime

1
My Java action receives 2 integers, monthNr (1-12) and yearNr (e.g. 2009). What is the best way to create a datetime object from these? I tried this: datetime = new Date(startYear, startMonth, 1); But this is deprecated and doesn't handle the year correctly (2009 becomces 3909).
asked
1 answers
3

(Without testing, snippets from internet)

import java.util.Calendar;


    int year = 2006;
    int month = 0; //January
    int date = 1;



    Calendar cal = Calendar.getInstance();

    //Clear all fields
    cal.clear();

    cal.set(Calendar.YEAR, year);
    cal.set(Calendar.MONTH, month);
    cal.set(Calendar.DATE, date);

    //Create instance of java.util.Date
    java.util.Date utilDate = cal.getTime();

Or

import java.text.ParseException;
import java.text.SimpleDateFormat;


    int year = 2003;
    int month = 12;
    int day = 12;

    String date = year + "/" + month + "/" + day;
    java.util.Date utilDate = null;

    try {
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
      utilDate = formatter.parse(date);
      System.out.println("utilDate:" + utilDate);
    } catch (ParseException e) {
      System.out.println(e.toString());
      e.printStackTrace();
    }
answered