[Java] 时间工具类 →→→→→进入此内容的聊天室

来自 , 2021-01-03, 写在 Java, 查看 102 次.
URL http://www.code666.cn/view/4589b8b6
  1. package com.pzoom.ads.platform.report.task.utils;
  2.  
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. //根据今天的日期获取这个星期的星期一和星期日所对应的日期
  6. public class DayDiffer {
  7.         public int getIntervalDaysByCalendar(Calendar startday, Calendar endday) {
  8.                 if (startday.after(endday)) {
  9.                         Calendar cal = startday;
  10.                         startday = endday;
  11.                         endday = cal;
  12.                 }
  13.                 long sl = startday.getTimeInMillis();
  14.                 long el = endday.getTimeInMillis();
  15.                 long ei = el - sl;
  16.                 return (int) (ei / (1000 * 60 * 60 * 24));
  17.         }
  18.  
  19.         public int getIntervalDaysByDate(Date startday, Date endday) {
  20.                 if (startday.after(endday)) {
  21.                         Date cal = startday;
  22.                         startday = endday;
  23.                         endday = cal;
  24.                 }
  25.                 long sl = startday.getTime();
  26.                 long el = endday.getTime();
  27.                 long ei = el - sl;
  28.                 return (int) (ei / (1000 * 60 * 60 * 24));
  29.         }
  30.  
  31.         public int getDaysBetween(Calendar d1, Calendar d2) {
  32.                 if (d1.after(d2)) {
  33.                         java.util.Calendar swap = d1;
  34.                         d1 = d2;
  35.                         d2 = swap;
  36.                 }
  37.                 int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
  38.                 int y2 = d2.get(Calendar.YEAR);
  39.                 if (d1.get(Calendar.YEAR) != y2) {
  40.                         d1 = (Calendar) d1.clone();
  41.                         do {
  42.                                 days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);// 得到当年的实际天�?
  43.                                 d1.add(Calendar.YEAR, 1);
  44.                         } while (d1.get(Calendar.YEAR) != y2);
  45.                 }
  46.                 return days;
  47.         }
  48.  
  49.         public static void main(String[] args) {
  50.                 Calendar calendar = Calendar.getInstance();
  51.                 Date d = calendar.getTime();
  52.                 DayDiffer dayDiffer=new DayDiffer();
  53.                 System.out.println(dayDiffer.getOnaWeekStart(d));
  54.                 System.err.println(dayDiffer.getOnaWeekEnd(d));
  55.                 System.err.println(dayDiffer.getWeekStart(d));
  56.         }
  57.  
  58.         public Date getOnaWeekStart(Date xz) {
  59.                 Date date = getWeekStart(xz);
  60.                 Calendar calendar = Calendar.getInstance();
  61.                 calendar.setTime(date);
  62.                 calendar.add(Calendar.DATE, -7);
  63.                 return calendar.getTime();
  64.         }
  65.  
  66.         public Date getOnaWeekEnd(Date xz) {
  67.                 Date date = getOnaWeekStart(xz);
  68.                 Calendar calendar = Calendar.getInstance();
  69.                 calendar.setTime(date);
  70.                 calendar.add(Calendar.DATE, 6);
  71.                 return calendar.getTime();
  72.         }
  73.  
  74.         public Date getWeekStart(Date xz) {
  75.                 Calendar calendar = Calendar.getInstance();
  76.                 calendar.setTime(xz);
  77.                 Date d2 = calendar.getTime();
  78.                 int week = calendar.get(calendar.DAY_OF_WEEK) - 2;
  79.                 calendar.add(Calendar.DATE, -week);
  80.                 return calendar.getTime();
  81.         }
  82. }
  83.  
  84. //java/1335

回复 "时间工具类"

这儿你可以回复上面这条便签

captcha