java的日期显示要涉及到java.util的3个类,
一.  Date
  最早JDK处理时间/日期的类.
  例如:
import java.util.*;
import java.text.*;

public class TestDate {
   public static void main(String[] args){
     Date date = new Date();
     System.out.println(date);
    }
}
  得到的结果是格林威治标准时间 :Mon May 22 18:05:17 CST 2006
import java.util.*;
import java.text.*;

public class TestDate 1{
   public static void main(String[] args){
     Date date = new Date();
     System.out.println(date);
    }
}
  返回该日期表示的从 GMT 1970 年 1 月 1 日 00:00:00 起的毫秒数.

二. DateFormate 
      DateFormate日期/时间格式化子类的一个抽象类.DateFormat类的一个目标是建立一个人们能够识别的字符串。然而,因为语言的差别,不是所有的人希望看到严格的相同格式的日期。法国人更喜欢看到 "25 decembre 2000,",但是美国人习惯看到"December 25,2000."所以一个DateFormat的实例创建以后,这个对象包含了日期的显示格式的信息。如果使用用户电脑区域设置缺省的格式,你可以象下面那样,创建DateFormat对象,使用getDateInstance()方法:

DateFormat df = DateFormat.getDateInstance();

import java.util.*;
import java.text.*;

public class NowString {
public static void main(String[] args) {
Date now = new Date();
DateFormat df = DateFormat.getDateInstance();
String s = df.format(now);
System.out.println(s);
}
}
得到的结果是 2005-5-22;

DateFormat还提供了几个选择日期格式,你可以通过使用重载的 getDateInstance(int style)获得。出于方便的原因,DateFormat提供了几种预置的常量,你可以使用这些常量参数。下面是几个SHORT, MEDIUM, LONG, 和FULL类型的示例

例如:
import java.util.*;
import java.text.*;

public class StyleDemo {
public static void main(String[] args) {
Date now = new Date();

DateFormat df = DateFormat.getDateInstance();
DateFormat df1 = DateFormat.getDateInstance(DateFormat.SHORT);
DateFormat df2 = DateFormat.getDateInstance(DateFormat.MEDIUM);
DateFormat df3 = DateFormat.getDateInstance(DateFormat.LONG);
DateFormat df4 = DateFormat.getDateInstance(DateFormat.FULL);
String s = df.format(now);
String s1 = df1.format(now);
String s2 = df2.format(now);
String s3 = df3.format(now);
String s4 = df4.format(now);

System.out.println("(Default) Today is " + s);
System.out.println("(SHORT) Today is " + s1);
System.out.println("(MEDIUM) Today is " + s2);
System.out.println("(LONG) Today is " + s3);
System.out.println("(FULL) Today is " + s4);
}
}


显示结果为:
Default) Today is Nov 8, 2000
(SHORT) Today is 11/8/00
(MEDIUM) Today is Nov 8, 2000
(LONG) Today is November 8, 2000
(FULL) Today is Wednesday, November 8, 2000


但是如果我希望看到秒数和分钟怎么办?
可以尝试将从工厂方法中获得的 DateFormat 变形为 SimpleDateFormat
例如:
import java.util.*;
import java.text.*;

public class TestSimpleDateFormat{
  public static void main(String[] args){
     SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     Date date = new Date();
     System.out.println(sf.format(date));
  }
}
得到的结果是 2005-05-22 18:30:17

三 Calendar 类 Calendar是JDK提供的日历类.

import java.util.*;
import java.text.*;
public class TestCalendar {
    public static void main(String[] args){
       Calendar calendar = Calendar.getInstance();
       calendar.set(Calendar.HOUR_OF_DAY,10);//设置小时是24小时制的10点
       calendar.set(Calendar.MINUTE,30); //设置分钟是30
       calendar.set(Calendar.SECOND,30); //设置秒数是30
       Date time =   calendar.getTime();
   SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   System.out.println(sf.format(time));
    }

得到结果是 2005-05-22  10:30:30
 
我现在想得到10年前的日期怎么办啊?
import java.util.*;
import java.text.*;
public class TestCalendar {
    public static void main(String[] args){
       Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.YEAR,-10);//设置年份为当前-10
       Date time =   calendar.getTime();
   SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   System.out.println(sf.format(time));
    }


我现在想得到100天前的日期怎么办啊?
import java.util.*;
import java.text.*;
public class TestCalendar {
    public static void main(String[] args){
       Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.DAY_OF_YEAR,-100);//设置日期为当前-100前.
       Date time =   calendar.getTime();
   SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   System.out.println(sf.format(time));
    }

只要修改时间域即可,很简单的.

对了想知道星期几怎么办?
import java.util.*;
import java.text.*;
public class TestCalendar {
    public static void main(String[] args){
       Calendar calendar = Calendar.getInstance();
      calendar.add(Calendar.DAY_OF_YEAR,-99);
      Date time =   calendar.getTime();
   SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");//加上星期啦.
   System.out.println(sf.format(time));
    }


想修改星期怎么办?

import java.util.*;
import java.text.*;
public class TestCalendar {
    public static void main(String[] args){
       Calendar calendar = Calendar.getInstance();
   
       calendar.set(Calendar.DAY_OF_WEEK,1);//本周的第一个星期日.
       Date time =   calendar.getTime();
   SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
   System.out.println(sf.format(time));
    }
}
 
OK,就这么多,Calendar可以轻松的得到日期和时间.