【转】Calendar.getInstance()获取指定时间点(定时)

使用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());
    }        
 
}

      控制台输出如下:

转自:https://blog.csdn.net/qq_36932624/article/details/85301769

猜你喜欢

转载自www.cnblogs.com/sanxiao/p/12346440.html