首页 > 代码库 > java.util.Date

java.util.Date

package com.etc.usual;

import java.util.Calendar;
import java.util.Date;

public class TestDate{

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Date d1 = new Date();
		System.out.println("d1:"+d1);//d1:Thu May 04 17:03:28 CST 2017
		
		//Date d2=new Date(115,1,1,1,1,1);     //国外一周时间是从星期天开始
		//d2.setYear(115);  //2015-1900=115  //年份是从1900年开始。这里要是setYear的话,年份累加
		//d2.setMonth(0); //国外月份从0开始
		//System.out.println("d2:"+d2);
		
		//setYear(int year)       :year + 1900代表的是当前年份
		d1.setYear(115);
		System.out.println("setYear:"+d1);//setYear:Mon May 04 17:03:28 CST 2015 
		
		//setMonth(int month)      :month - 0-11 之间的月份值
		d1.setMonth(11);
		System.out.println("setMonth:"+d1);//setMonth:Fri Dec 04 17:03:28 CST 2015
		d1.setMonth(12);      //若月份超过11,则进入下一年,从下一年的一月份开始计时
		System.out.println("setMonth:"+d1);//setMonth:Mon Jan 04 17:03:28 CST 2016
		d1.setMonth(-1);      //若设置的月份为负数,则当前的月份减去设置的月份
		System.out.println("setMonth:"+d1);//setMonth:Fri Dec 04 17:03:28 CST 2015
		System.out.println();  
		
		//setDate(int date)        :date - 月份中 1-31 之间的某一天。
		d1.setDate(1);
		System.out.println("setDate:"+d1);//setDate:Tue Dec 01 17:03:28 CST 2015
		d1.setDate(31);
		System.out.println("setDate:"+d1);//setDate:Thu Dec 31 17:03:28 CST 2015
		d1.setDate(32);       //若设置的天数超过当前月份的天数,则进入下一月的第一天,开始计时
		System.out.println("setDate:"+d1);//setDate:Fri Jan 01 17:03:28 CST 2016
		d1.setDate(-2);       //若设置的天数为负数,则当前的天数自动往后减设置的天数,开始计时
		System.out.println("setDate:"+d1);//setDate:Tue Dec 29 17:03:28 CST 2015
		System.out.println(); 
		
		//setHours(int hours)      小时的范围0~23
		d1.setHours(20);
		System.out.println("setHours:"+d1);//setHours:Tue Dec 29 20:03:28 CST 2015
		d1.setHours(23);
		System.out.println("setHours:"+d1);//setHours:Tue Dec 29 23:03:28 CST 2015
		d1.setHours(24);  //小时超过23,则进入第二天
		System.out.println("setHours:"+d1);//setHours:Wed Dec 30 00:03:28 CST 2015
		d1.setHours(-1);  //小时数为负数,则进入前一天的小时
		System.out.println("setHours:"+d1);//setHours:Tue Dec 29 23:03:28 CST 2015
		System.out.println(); 
		
		//setMinutes(int minutes)
		d1.setMinutes(55);
		System.out.println("setMinutes:"+d1);//setMinutes:Tue Dec 29 23:55:28 CST 2015
		d1.setMinutes(60);//分钟值超过59,小时加一
		System.out.println("setMinutes:"+d1);//setMinutes:Wed Dec 30 00:00:28 CST 2015
		d1.setMinutes(-5);//分钟值为负数,小时减一,且分钟值从60自动减去设置的分钟值
		System.out.println("setMinutes:"+d1);//setMinutes:Tue Dec 29 23:55:28 CST 2015
		System.out.println(); 
		
		//setSeconds(int seconds)
		d1.setSeconds(55); 
		System.out.println("setSeconds:"+d1);//setSeconds:Tue Dec 29 23:55:55 CST 2015
		d1.setSeconds(60); 
		System.out.println("setSeconds:"+d1);//setSeconds:Tue Dec 29 23:56:00 CST 2015
		d1.setSeconds(-1); 
		System.out.println("setSeconds:"+d1);//setSeconds:Tue Dec 29 23:55:59 CST 2015
		System.out.println(); 
		
		//toString()   
		System.out.println("toString:"+d1.toString());//toString:Tue Dec 29 23:55:59 CST 2015
		
		//after(Date when)  测试此日期是否在指定日期之后。
		Date d2=new Date();//当前时间     d1:Tue Dec 29 23:55:59 CST 2015
		System.out.println("d1.after(d2):"+d1.after(d2));//d1.after(d2):false
		
		//before(Date when)  测试此日期是否在指定日期之前。 
		System.out.println("d1.before(d2):"+d1.before(d2));//d1.before(d2):true
		
		//compareTo(Date anotherDate)     
		//如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
		System.out.println("compareTo:"+d1.compareTo(d2));  //compareTo:-1
	
		//equals(Object obj)
		//比较两个日期的相等性。当且仅当参数不为 null,并且是一个表示与此对象相同的时间点(到毫秒)的 Date 对象时,结果才为 true。 
		Date d3=new Date();
		Date d4=new Date(); 
		System.out.println(d3+"---"+d4);//Thu May 04 17:03:28 CST 2017---Thu May 04 17:03:28 CST 2017
		System.out.println("equals:"+d3.equals(d4));//equals:true
		
		//求出毫秒数
		Calendar c=Calendar.getInstance();
		c.setTime(d3);
		System.out.println(c.getTimeInMillis());//1493888608957
		c.setTime(d4);
		System.out.println(c.getTimeInMillis());//1493888608957
	
	}

}

  

java.util.Date