天天看點

Calendar.getInstance()擷取指定時間點(定時)

版權聲明:本文為部落客原創文章,如需轉載,請标明出處。 https://blog.csdn.net/alan_liuyue/article/details/71191037

    使用Calendar.getInstance()不僅能擷取目前的時間,還能指定需要擷取的時間點,在項目應用中達到

定時的作用,下面是常用的一些指定時間點使用:

public class Test1 {
    public static void main(String[]args){
        System.out.println("時間為:\n"+getDate1()+"\n"+getDate2()+"\n"+getDate3()+"\n"+getDate4()+"\n"+getDate5());
    }
	
/*	Calendar.HOUR_OF_DAY 	24小時制
	Calendar.HOUR 	12小時制*/
	
	//擷取當天0點時間
	public static String getDate1(){
		 Calendar cal = Calendar.getInstance();
		 cal.set(Calendar.HOUR_OF_DAY, 0);//控制時
		 cal.set(Calendar.MINUTE, 0);//控制分
		 cal.set(Calendar.SECOND, 0);//控制秒
		 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		 return sdf.format(cal.getTime());
	}
	
	//擷取當天12點時間
	public static String getDate2(){
		 Calendar cal = Calendar.getInstance();
		 cal.set(Calendar.HOUR_OF_DAY, 12);
		 cal.set(Calendar.MINUTE, 0);
		 cal.set(Calendar.SECOND, 0);
		 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		 return sdf.format(cal.getTime());
	}	
	
	//擷取本周一0點時間
	public static String getDate3(){
		 Calendar cal = Calendar.getInstance();
		 cal.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0,0);
		 cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
		 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		 return sdf.format(cal.getTime());
	}	
	
	//擷取本月第一天0點時間
	public static String getDate4(){
		 Calendar cal = Calendar.getInstance();
		 cal.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0,0);
		 cal.set(Calendar.DAY_OF_MONTH,cal.getActualMinimum(Calendar.DAY_OF_MONTH));
		 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		 return sdf.format(cal.getTime());
	}
	
         //獲得本月最後一天24點時間
	public static String getDate5(){
		 Calendar cal = Calendar.getInstance();
		 cal.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0,0);
		 cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH));
		 cal.set(Calendar.HOUR_OF_DAY, 24);
		 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		 return sdf.format(cal.getTime());
	}		

}           

    控制台輸出如下:

    參考連結:

http://blog.csdn.net/holee_bk/article/details/53456630

繼續閱讀