1.獲取指定年月日及設置指定時間
int year = Integer.parseInt(new SimpleDateFormat("yyyy").format(time)); int month = Integer.parseInt(new SimpleDateFormat("MM").format(time)); int day = Integer.parseInt(new SimpleDateFormat("dd").format(time)); Calendar calendar = Calendar.getInstance(); calendar.set(year, month - 1, day,17,30); Calendar calendar1 = Calendar.getInstance(); calendar1.set(year, month - 1, day,18,30);
//時間插入
calendar.getTime();
2.獲取當天最大時間(yyyyMMdd 23:59:59)
private static Date getEndOfDay(Date date) { LocalDateTime localDateTime = LocalDateTime .ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault());; LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX); return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant()); }
3.日期格式化
SimpleDateFormat Format = new SimpleDateFormat("yyyy-MM-dd"); Date datetime = Format.parse(date);
4.獲取指定日期月份第一天和最后一天
//獲取本月第一天 SimpleDateFormat sf=new SimpleDateFormat("MM-dd"); GregorianCalendar gcLast=(GregorianCalendar)Calendar.getInstance(); gcLast.setTime(time); gcLast.set(Calendar.DAY_OF_MONTH, 1); String firstDay = sf.format(gcLast.getTime()); //獲取本月最后一天 Calendar calendar=Calendar.getInstance(); calendar.setTime(time); calendar.add(Calendar.DATE, -1); calendar.set(Calendar.DATE, calendar.getActualMaximum(calendar.DATE)); String endDay = sf.format(calendar.getTime());
5.獲取指定日期的周一日期與周五日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(createDate);
//判斷要計算的日期是否是周日,如果是則減一天計算周六的,否則會出問題,計算到下一周去了 int dayWeek = calendar.get(Calendar.DAY_OF_WEEK);//獲得當前日期是一個星期的第幾天 if(1 == dayWeek) { calendar.add(Calendar.DAY_OF_MONTH, -1); } calendar.setFirstDayOfWeek(Calendar.MONDAY);//設置一個星期的第一天,按中國的習慣一個星期的第一天是星期一 int day = calendar.get(Calendar.DAY_OF_WEEK);//獲得當前日期是一個星期的第幾天 calendar.add(Calendar.DATE, calendar.getFirstDayOfWeek()-day);//根據日歷的規則,給當前日期減去星期幾與一個星期第一天的差值 String starDay = sdf.format(calendar.getTime());
calendar.add(Calendar.DATE, 4); String endDay = sdf.format(calendar.getTime());
6.獲取當前年份,月份,日期,小時,分鍾,秒等
Calendar cale = Calendar.getInstance();
int year = cale.get(Calendar.YEAR); //年份
int nowMonth = cale.get(Calendar.MONTH) + 1; //月份
int day = cale.get(Calendar.DATE); //日期
int hour = cale.get(Calendar.HOUR_OF_DAY); //小時 24小時制
int hour = cale.get(Calendar.Hour) //小時 12小時制
int minute = cale.get(Calendar.MINUTE); //分鍾
int second = cale.get(Calendar.SECOND); //秒
int dayOfWeek = cale.get(Calendar.DAY_OF_WEEK); //一周第幾天
int dayOfMonth = cale.get(Calendar.DAY_OF_MONTH); //一月第幾天
int dayOfYear = cale.get(Calendar.DAY_OF_YEAR); //一年第幾天