本文共 2162 字,大约阅读时间需要 7 分钟。
使用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()); } }
控制台输出如下:
参考链接: