Calendar cal = Calendar.getInstance();
        cal.set(intYear,intMonth,intday);
        cal.getTime();

解决方案 »

  1.   

    注意一点:在Calendar.set(year, month, day)中,月份是从0开始的。个人意见,仅供参考。
      

  2.   

    cal.getTime()返回的就是Date类型.
      

  3.   

    创建一个代表任意日期的一个途径使用GregorianCalendar类的构造函数,它包含在java.util包中: GregorianCalendar(int year, int month, int date) 注意月份的表示,一月是0,二月是1,以此类推,是12月是11。因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY, FEBRUARY,等等。所以,创建Wilbur 和 Orville制造第一架动力飞机的日期(December 17, 1903),你可以使用: GregorianCalendar firstFlight = new GregorianCalendar(1903, Calendar.DECEMBER, 17); 
    出于清楚的考虑,你应该使用前面的形式。但是,你也应该学习怎样阅读下面的短格式。下面的例子同样表示December 17,1903(记住,在短格式中,11表示December) GregorianCalendar firstFlight = new GregorianCalendar(1903, 11, 17); 在上一节中,你学习了转换Date对象到字符串。这里,你可以做同样的事情;但是首先,你需要将GregorianCalendar对象转换到Date。要做到这一点,你可以使用getTime()方法,从它得父类Calendar继承而来。GetTime()方法返回GregorianCalendar相应的Date对象。你能够创建GregorianCalendar对象,转换到Date对象,得到和输出相应的字符串这样一个过程。下面是例子: import java.util.*; 
    import java.text.*; public class Flight { public static void main(String[] args) { 
    GregorianCalendar firstFlight = new GregorianCalendar(1903, Calendar.DECEMBER, 17); 
    Date d = firstFlight.getTime(); 
    DateFormat df = DateFormat.getDateInstance(); 
    String s = df.format(d); 
    System.out.println("First flight was " + s); 

    } 有时候创建一个代表当前时刻的GregorianCalendar类的实例是很有用的。你可以简单的使用没有参数的GregorianCalendar构造函数,象这样: GregorianCalendar thisday = new GregorianCalendar(); 一个输出今天日期的例子程序,使用GregorianCalendar对象: import java.util.*; 
    import java.text.*; class Today { 
    public static void main(String[] args) { 
    GregorianCalendar thisday = new GregorianCalendar(); 
    Date d = thisday.getTime(); 
    DateFormat df = DateFormat.getDateInstance(); 
    String s = df.format(d); 
    System.out.println("Today is " + s); 

    } 注意到,Date()构造函数和GregorianCalendar()构造函数很类似:都创建一个对象,条件简单,代表今天。 
      

  4.   

    日期处理 
    GregorianCalendar类提供处理日期的方法。一个有用的方法是add().使用add()方法,你能够增加象年,月数,天数到日期对象中。要使用add()方法,你必须提供要增加的字段,要增加的数量。一些有用的字段是DATE, MONTH, YEAR, 和 WEEK_OF_YEAR。下面的程序使用add()方法计算未来80天的一个日期。在Jules的<环球80天>是一个重要的数字,使用这个程序可以计算Phileas Fogg从出发的那一天1872年10月2日后80天的日期: import java.util.*; 
    import java.text.*; public class World { 
    public static void main(String[] args) { 
    GregorianCalendar worldTour = new GregorianCalendar(1872, Calendar.OCTOBER, 2); 
    worldTour.add(GregorianCalendar.DATE, 80); 
    Date d = worldTour.getTime(); 
    DateFormat df = DateFormat.getDateInstance(); 
    String s = df.format(d); 
    System.out.println("80 day trip will end " + s); 

    } 这个例子是想象的,但在一个日期上增加天数是一个普遍的操作:影碟可以租3天,图书馆可以借书21天,商店经常需要将购买的物品在30天内卖出。下面的程序演示了使用年计算: import java.util.*; 
    import java.text.*; public class Mortgage { 
    public static void main(String[] args) { 
    GregorianCalendar mortgage = new GregorianCalendar(1997, Calendar.MAY, 18); 
    mortgage.add(Calendar.YEAR, 15); 
    Date d = mortgage.getTime(); 
    DateFormat df = DateFormat.getDateInstance(); 
    String s = df.format(d); 
    System.out.println("15 year mortgage amortized on " + s); } 
    }