java中的日期处理类总结:Date、Calendar、DateFormat、SimpleDateFormat类 1、Date类 Date类对象的创建: 1)创建一个当前时间: //默认是创建一个代表系统当前日期的Date对象 Date d = new Date(); 2)创建一个我们指定的时间的Date对象: 下面是使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。 //创建一个代表2009年6月12号的Date对象 Date d1 = new Date(2009-1900, 6-1, 12); (注意参数的设置啊!) 3)正确获得一个date对象所包含的信息: Date d2 = new Date(2009-1900, 6-1, 12); //获得年份 (注意年份要加上1900,这样才是日期对象d2所代表的年份) int year = d2.getYear() + 1900; //获得月份 (注意月份要加1,这样才是日期对象d2所代表的月份) int month = d2.getMonth() + 1; //获得日期 int date = d2.getDate(); //获得小时 int hour = d2.getHours(); //获得分钟 int minute = d2.getMinutes(); //获得秒 int second = d2.getSeconds(); //获得星期 (注意:0代表星期日、1代表星期1、2代表星期2,其他的一次类推了) int day = d2.getDay(); 2、Calendar类 Calendar类是一个抽象类,在实际使用时实现特定的子类的对象。由于Calendar类是抽象类,且Calendar类的构造方法是protected的,所以无法使用Calendar类的构造方法来创建对象,API中提供了getInstance方法用来创建对象。 Calendar类对象的创建: 1)创建一个代表系统当前日期的Calendar对象 Calendar c = Calendar.getInstance(); 2)创建一个指定日期的Calendar对象 使用Calendar类代表特定的时间,需要首先创建一个Calendar的对象,然后再设定该对象中的年月日参数来完成。 //创建一个代表2009年6月12日的Calendar对象 Calendar c1 = Calendar.getInstance(); c1.set(2009, 6 - 1, 12); 3)正确获得一个Calendar类对象所包含的信息 Calendar c1 = Calendar.getInstance(); // 获得年份 int year = c1.get(Calendar.YEAR); // 获得月份 int month = c1.get(Calendar.MONTH) + 1; // 获得日期 int date = c1.get(Calendar.DATE); // 获得小时 int hour = c1.get(Calendar.HOUR_OF_DAY); // 获得分钟 int minute = c1.get(Calendar.MINUTE); // 获得秒 int second = c1.get(Calendar.SECOND); // 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二..) int day = c1.get(Calendar.DAY_OF_WEEK); 3、DateFormat 类 DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、分析(文本-> 日期)和标准化。将日期表示为Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年,1 月 1 日 00:00:00 这一刻开始的毫秒数。 5、SimpleDateFormat类 public class SimpleDateFormat extends DateFormatSimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //日期到字符串的转换 String today = df.format(new Date()); System.out.println(df.format(new Date())); //字符串到日期的转换 Date date = df.parse("2009-06-12 02:06:37"); System.out.println(date);