`
longgangbai
  • 浏览: 7330706 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

项目中使用时间工具类

阅读更多

 

  项目中使用的时间工具类的主要的采用commons-lang中的时间类FastDateFormat,FastDateFormat具有线程安全等功能,使用比较方便。内部有许多工具类。可以随时调用。

 

public abstract class DateUtils {

 /**
  *
  */
 public static final String MATRIX_NULL_FLAG = "/";

 public static final long MILSEC_PER_DAY = 24 * 3600000;

 public static final FastDateFormat FAST_DAY_FORMATTER = FastDateFormat
   .getInstance("yyyy-MM-dd");

 public static final FastDateFormat FAST_MINUTE_FORMATTER = FastDateFormat
   .getInstance("yyyy-MM-dd HH:mm");

 public static final FastDateFormat FAST_SECOND_FORMATETR = FastDateFormat
   .getInstance("yyyy-MM-dd HH:mm:ss");
 public static final FastDateFormat FAST_SHORT_FORMATETR = FastDateFormat
   .getInstance("yyyyMMdd");
 public static final FastDateFormat FAST_ONLY_MINUTE_FORMATETR = FastDateFormat
   .getInstance("HH:mm");

 public static String getLastDate(int year, int month) {
  int[] monthDay = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
  if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
   monthDay[1] = 29;
  }
  int monthDayNum = monthDay[month - 1];
  String end = year + "-" + month + "-" + monthDayNum;
  return end;
 }

 /* 格式化日期为短形式 */
 public static String getShortDate(Date myDate) {
  return FAST_SHORT_FORMATETR.format(myDate);
 }

 /* 格式化日期为标准形式 */
 public static String formatDateTime(Date myDate, String pattern) {
  FastDateFormat format = FastDateFormat.getInstance(pattern);
  return format.format(myDate);
 }

 /* 判断myDate是否为null */
 public static Date isDate(Date myDate) {
  if (myDate == null)
   return new Date();
  return myDate;
 }

 public static Date currentDate() {
  return currentDate(null);
 }

 /**
  *
  * @return
  */
 public static Date currentDate(DateFormat format) {
  Date today = new Date();
  if (format != null) {
   String string = format.format(today);
   today = parse(string, format);
  }
  return today;
 }

 /**
  * 查询当天的前n天的具体时间
  *
  * @param n
  * @return
  */
 public static String getCurrentDateBefore(int n) {
  Calendar day = Calendar.getInstance();
  day.add(Calendar.DATE, -n);
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  String result = sdf.format(day.getTime());
  return result;
 }

 /**
  * 日期差(time1 - time2,返回负数,若time1在time2之前)
  *
  * @param time1
  * @param time2
  * @return
  */
 public static long getQuot(Date time1, Date time2) {
  long quot = 0;

  try {
   Date date1 = time1;
   Date date2 = time2;
   quot = date1.getTime() - date2.getTime();
   quot = quot / 1000 / 60 / 60 / 24;
  } catch (Exception e) {
   e.printStackTrace();
  }
  return quot;
 }

 /**
  * 日期差(忽略时间部分,time1 - time2,返回负数,若time1在time2之前)
  *
  * @param time1
  * @param time2
  * @return
  */
 public static long getQuoteIgnoreTime(Date time1, Date time2) {
  return getQuot(truncate(time1, Calendar.DATE), truncate(time2,
    Calendar.DATE));
 }

 // 判断日期为星期几,1为星期日com.vnvtrip.util,依此类推
 public static int dayOfWeek(Object date1) {
  Date date = (Date) date1;
  // 首先定义一个calendar,必须使用getInstance()进行实例化
  Calendar aCalendar = Calendar.getInstance();
  // 里面野可以直接插入date类型
  aCalendar.setTime(date);
  // 计算此日期是一周中的哪一天
  int x = aCalendar.get(Calendar.DAY_OF_WEEK);
  return x;
 }

 public static String dayOfWeek2(Object date1) {
  Date date = (Date) date1;
  // 首先定义一个calendar,必须使用getInstance()进行实例化
  Calendar aCalendar = Calendar.getInstance();
  // 里面野可以直接插入date类型
  aCalendar.setTime(date);
  // 计算此日期是一周中的哪一天
  int x = aCalendar.get(Calendar.DAY_OF_WEEK);
  return dayOfWeekByDayNum(x);
 }

 public static String dayOfWeekByDayNum(int x) {
  String str = "周日";
  if (x == 7) {
   str = "周六";
  } else if (x == 6) {
   str = "周五";
  } else if (x == 5) {
   str = "周四";
  } else if (x == 4) {
   str = "周三";
  } else if (x == 3) {
   str = "周二";
  } else if (x == 2) {
   str = "周一";
  }
  return str;
 }

 // 根据当前一个星期中的第几天得到它的日期
 public static Date getDateOfCurrentWeek(int day) {
  Calendar aCalendar = Calendar.getInstance();
  int x = aCalendar.get(Calendar.DAY_OF_WEEK);
  aCalendar.add(Calendar.DAY_OF_WEEK, day - (x - 1));
  return aCalendar.getTime();
 }

 // 某一天在一个月中的第几周
 public static int getWeekOfMonth(Date date) {
  Calendar calendar = Calendar.getInstance();
  calendar.setTime(date);
  return calendar.get(Calendar.WEEK_OF_MONTH);
 }

 public static Date addSomeDay(Date oldDate, int num) {
  Calendar calendar = Calendar.getInstance();
  calendar.setTime(oldDate);
  calendar.add(Calendar.DATE, num);
  return calendar.getTime();
 }

 // 把日期“2006-09-01”转化成20060901
 public static String Dateformat(String date) {
  int i = date.length();
  StringBuffer newdate = new StringBuffer(date.substring(0, 4));
  if (i == 8) {

   newdate.append(0);
   newdate.append(date.substring(5, 6));
   newdate.append(0);
   newdate.append(date.substring(7, 8));
  } else if (i == 9) {
   if (date.substring(7, 8).equalsIgnoreCase("-")) {

    newdate.append(date.substring(5, 7));
    newdate.append(0);
    newdate.append(date.substring(8, 9));
   } else {
    newdate.append(0);
    newdate.append(date.substring(5, 6));
    newdate.append(date.substring(7, 9));
   }

  } else {

   newdate.append(date.substring(5, 7));
   newdate.append(date.substring(8, 10));
  }

  return newdate.toString();

 }

 /* 新增static方法 */
 /* 格式话日期为yyyy-MM-dd形式 */
 public static String formatDate(Date myDate) {
  return FAST_DAY_FORMATTER.format(myDate);
 }

 /* 格式话日期为yyyy-MM-dd HH:mm形式 */
 public static String formatDateMinutes(Date myDate) {
  return FAST_MINUTE_FORMATTER.format(myDate);
 }

 /* 格式话日期为yyyy-MM-dd HH:mm:ss形式 */
 public static String formatDateTime(Date myDate) {
  return FAST_SECOND_FORMATETR.format(myDate);
 }

 /* 格式话日期为yyyy-MM-dd HH:mm:ss形式 */
 public static String formatDateMinutesTime(Date myDate) {
  return FAST_ONLY_MINUTE_FORMATETR.format(myDate);
 }

 /* 将字符串转换成日期 */
 public static Date getDateByString(String rq) {

  DateFormat df = new SimpleDateFormat();
  Date d = null;
  try {
   d = df.parse(rq);
  } catch (Exception e) {
  }
  return d;
 }

 public static Date getDateByString(String str, String pattern) {
  SimpleDateFormat sdf = null;
  try {
   sdf = new SimpleDateFormat(pattern);
   return sdf.parse(str);
  } catch (Exception e) {
  }
  return null;
 }

 /**
  * 比较时间是否相同
  *
  * @param start
  * @param end
  * @return
  */
 public static boolean equals(Date start, Date end) {
  if (start != null && end != null && start.getTime() == end.getTime()) {
   return true;
  }
  return false;
 }

 public static final Date convertStringToDate(String aMask, String strDate) {
  SimpleDateFormat df = null;
  Date date = null;
  df = new SimpleDateFormat(aMask);

  try {
   date = df.parse(strDate);
  } catch (Exception pe) {
  }
  return (date);
 }

 // add by csg
 // 当前月份第一天
 public static Date getCurrentMonthFirstDay() {
  Calendar calendar = Calendar.getInstance();
  Date date = calendar.getTime();
  calendar.setTime(date);
  calendar.set(Calendar.DAY_OF_MONTH, 1);
  return calendar.getTime();
 }

 // 得到当前系统日期.add by lnb 12.12

 public static String getCurrentTime() {
  Date myDate = new Date(System.currentTimeMillis());
  return formatDateTime(myDate);
 }

 public static boolean isSameDay(Date c1, Date c2) {
  return formatDate(c1).equals(formatDate(c2));
 }

 public static Calendar string2Cal(String arg) {
  SimpleDateFormat sdf = null;
  String trimString = arg.trim();
  if (trimString.length() > 14)
   sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  else
   sdf = new SimpleDateFormat("yyyy-MM-dd");
  Date d = null;
  try {
   d = sdf.parse(trimString);
  } catch (ParseException e) {
   return null;
  }
  Calendar cal = Calendar.getInstance();
  cal.setTime(d);
  return cal;
 }

 /**
  * 匹配是否在某个时间段中
  *
  * @param timePeriod
  *            "00:00-06:00"格式
  * @param time
  *            "07:30"
  * @return
  */
 public static boolean isInPeriod(String timePeriod, String time) {
  String startTime = timePeriod.substring(0, 5);

  String endTime = timePeriod.substring(6);

  String timeTime = time;

  // 和时间段的开始或者结束刚好相等的时候
  if (startTime.equalsIgnoreCase(timeTime)
    || endTime.equalsIgnoreCase(timeTime)) {
   return true;
  }

  SimpleDateFormat d = new SimpleDateFormat("HH:mm");

  try {
   Date startDate = d.parse(startTime);

   Date endDate = d.parse(endTime);

   Date timeDate = d.parse(timeTime);

   if (timeDate.after(startDate) && timeDate.before(endDate)) {
    return true;
   }
  } catch (ParseException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

  return false;
 }

 public static boolean isBetween(Date date, Date from, Date to) {
  Assert.notNull(date, "date cannot be null.");
  Assert.notNull(from, "from cannot be null.");
  Assert.notNull(to, "to cannot be null.");
  Assert.isTrue(!from.after(to), "from cannot be after to.");
  return !date.before(from) && !date.after(to);
 }

 public static Date ifNull(Date date, Date defaultDate) {
  return date != null ? date : defaultDate;
 }

 public static String format(Date date, DateFormat df) {
  if (date == null) {
   return "";
  } else if (df != null) {
   return df.format(date).toLowerCase();
  } else {
   return FAST_DAY_FORMATTER.format(date);
  }
 }

 public static String format(Date date) {
  return format(date, null);
 }

 public static Date parseUseDefaultFormat(String date) {
  return parse(date, getDayFormatter());
 }

 public static Date parse(String date, DateFormat df) {
  try {
   return df.parse(date);
  } catch (ParseException e) {
   throw new RuntimeException("parse date [" + date
     + "] failed in use [" + getDayFormatter() + "]", e);
  }
 }

 // 增加或减少几个月
 public static Date addMonth(Date date, int num) {
  Calendar startDT = Calendar.getInstance();
  startDT.setTime(date);
  startDT.add(Calendar.MONTH, num);
  return startDT.getTime();
 }

 // 增加或减少天数
 public static Date addDay(Date date, int num) {
  Calendar startDT = Calendar.getInstance();
  startDT.setTime(date);
  startDT.add(Calendar.DAY_OF_MONTH, num);
  return startDT.getTime();
 }

 public static List<Date> splitDays(Date start, Date end) {
  return splitDays(start, end, null);
 }

 /**
  *
  * @param start
  * @param end
  * @param dayOfWeeks
  *            周日(1), 周一(2), ..., 周六(7)
  * @return
  */
 @SuppressWarnings("deprecation")
 public static List<Date> splitDays(Date start, Date end, int[] dayOfWeeks) {
  List<Date> dates = new ArrayList<Date>();
  for (Date date = start; !date.after(end); date = addDay(date, 1)) {
   if (ArrayUtils.isEmpty(dayOfWeeks)
     || ArrayUtils.contains(dayOfWeeks, date.getDay() + 1)) {
    dates.add(date);
   }
  }
  return dates;
 }

 /**
  * 取得时间距阵
  *
  * @param dayStart
  * @param dayEnd
  * @return
  */
 public static List<String> getDayPeriodFullMatrix(String dayStart,
   String dayEnd) {

  List<String> retList = new ArrayList<String>();
  Calendar calStart = new GregorianCalendar();
  Calendar calEnd = new GregorianCalendar();
  String str = null;
  try {
   calStart.setTime(getDayFormatter().parse(dayStart));
   calEnd.setTime(getDayFormatter().parse(dayEnd));
   calEnd.add(Calendar.DATE, 1); // 包含最后一天

   // 前端补足
   int dayOfWeek = calStart.get(Calendar.DAY_OF_WEEK);
   for (; dayOfWeek > 1; dayOfWeek--) {
    retList.add(MATRIX_NULL_FLAG);
   }

   // 中间部分
   for (; calStart.before(calEnd); calStart.add(Calendar.DATE, 1)) {
    str = FAST_DAY_FORMATTER.format(calStart.getTime());
    retList.add(str);
   }

   // 后端补足
   dayOfWeek = calEnd.get(Calendar.DAY_OF_WEEK);
   if (dayOfWeek != 1) {
    for (; dayOfWeek != 1 && dayOfWeek <= 7; dayOfWeek++) {
     retList.add(MATRIX_NULL_FLAG);
    }
   }
   if(retList.size()<42) {
    int length=42-retList.size();
    for(int i=0;i<length;i++) {
     retList.add(MATRIX_NULL_FLAG);
     System.out.println(i);
    }
   }
  } catch (ParseException e) {
   throw new RuntimeException(e);
  }

  return retList;
 }

 /**
  * 取得时间距阵
  *
  * @param dayStart
  * @param dayEnd
  * @return
  */
 public static List<String> getDayPeriodFullMatrix(Date dayStart, Date dayEnd) {
  return getDayPeriodFullMatrix(format(dayStart), format(dayEnd));
 }

 /**
  * <li>SimpleDateFormat is not thread saft, so when you need, you should
  * create it</li>
  */
 public static SimpleDateFormat getDayFormatter() {
  return new SimpleDateFormat("yyyy-MM-dd");
 }

 public static SimpleDateFormat getMinuteFormatter() {
  return new SimpleDateFormat("yyyy-MM-dd HH:mm");
 }

 public static SimpleDateFormat getMonthFormatter() {
  return new SimpleDateFormat("yyyy-MM");
 }

 public static SimpleDateFormat getSecondFormatter() {
  return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 }

 public static void main(String[] args) {
  List<String> matrix = getDayPeriodFullMatrix("2010-02-01", "2010-02-28");
  System.out.println(matrix);
  System.out.println(matrix.size());
  Date time1 = parse("2009-09-26 09:00:23", getSecondFormatter());
  Date time2 = parse("2009-09-27 09:00:24", getSecondFormatter());
  System.out.println(getQuoteIgnoreTime(time1, time2));
 }

 /**
  * 字符串格式时间转换到对象时间
  *
  * @param str
  * @return
  */
 public static Date string2DateTime(String str) {
  SimpleDateFormat fo = new SimpleDateFormat("yyyy-MM-dd");
  Date date = new Date();
  try {
   date = fo.parse(str);
  } catch (ParseException e) {
   e.printStackTrace();
  }
  return date;
 }

 /**
  * 返回date时间 只到天 2008-05-20 00:00
  *
  * @param date
  * @return
  */
 public static Date getNoHHMMDate(Date date) {
  return org.apache.commons.lang.time.DateUtils.truncate(date,
    Calendar.DATE);
 }

 /**
  * 增加天
  *
  * @param date
  * @param i
  * @return
  */
 public static Date addDays(Date date, int i) {
  return org.apache.commons.lang.time.DateUtils.addDays(date, i);
 }

 public static long diff(Date d1, Date d2, String field) {
  long d1t = d1.getTime();
  long d2t = d2.getTime();
  if ("middleNight".equalsIgnoreCase(field)) { // 计算间夜,先除后减
   return d1t / MILSEC_PER_DAY - d2t / MILSEC_PER_DAY;
  } else {
   return d2t - d1t;
  }
 }

 public static String getLikeTimePointCode(Date myDate) {
  String myTime = formatDateMinutesTime(myDate);
  String[] myTimeList = myTime.split(":");
  return myTimeList[0] + myTimeList[1] + "00";
 }

 /**
  * 筛选日期(400系统)
  *
  * @param start
  * @param end
  * @param dayOfWeeks
  * @return
  */
 public static List<Date> getDates(Date start, Date end, Integer[] dayOfWeeks) {
  List<Date> list = new ArrayList<Date>();
  Date date = start;
  for (int i = 1; i <= 7; i++) {
   if (ArrayUtils.contains(dayOfWeeks, dayOfWeek(date))) {
    while (date.compareTo(end) <= 0) {
     list.add(date);
     date = addDays(date, 7);
    }
    date = addDays(start, i);
   } else {
    date = addDays(date, 1);
   }
  }
  return list;
 }

 /**
  * 比较日期
  */
 public static boolean constractDate(Date d1, Date d2) {
  if (d1 == null || d2 == null)
   return false;
  Date date1 = string2DateTime(formatDate(d1));
  Date date2 = string2DateTime(formatDate(d2));
  if (date1.equals(date2))
   return true;
  return date1.before(date2);
 }

 /**
  * 星期几
  *
  * @param date
  * @return
  */
 public static int getWeekByDate(Date date) {
  Calendar cal = Calendar.getInstance();
  cal.setTime(date);
  return cal.get(Calendar.DAY_OF_WEEK);
 }

 /**
  * 比较两日期是否相等
  */
 public static boolean equalDate(Date d1, Date d2) {
  if (d1 == null || d2 == null)
   return false;
  Date date1 = string2DateTime(formatDate(d1));
  Date date2 = string2DateTime(formatDate(d2));
  return date1.equals(date2);
 }

 /**
  * 将某个日期转换成业务逻辑上面的星期几 calendar: 周一:2;周二:3;周三:4;周四:5;周五:6;周六:7;周日:1 业务逻辑 :
  * 周一:1;周二:2;周三:3;周四:4;周五:5;周六:6;周日:7
  *
  * @param day
  * @return
  */
 public static String explainDayOfWeek(Date date) {
  int departDay = dayOfWeek(date);
  if (departDay == 1) {
   return "7";
  } else if (departDay == 2) {
   return "1";
  } else {
   return String.valueOf(departDay - 1);
  }
 }
 
 /**
  * 比较 是否当前日子以前的日子(不包含当前天)
  */
 public static boolean gtAfter(Date date){
  return date.before(addDay(new Date(),-1));
 }
}

分享到:
评论

相关推荐

    JAVA 工具类 项目

    5. **线程安全**:考虑到多线程环境,工具类中的方法需要考虑线程安全问题。如果方法涉及共享状态,那么它们需要被设计为线程安全的,或者通过同步机制来保证并发访问的正确性。 6. **异常处理**:为了提供良好的...

    web 项目中的各种工具类

    DateUtil 时间工具类 FileUtils 文件工具类 JExcelUtils excel 工具类2 JsonUtil json 工具类 MyBeanUtils 实体bean 工具 PathUtils 获取路径工具 Pinyin4jUtil 提取汉字拼音的工具 StringUtil 字符转换类 ...

    工具类项目,开发经常用到的一些工具类

    在软件开发过程中,工具类(Utility Class)是程序员日常工作中不可或缺的部分。这些工具类通常包含一组静态方法,用于...开发者可以根据自己项目的特性,选择性地引入和使用这些工具类,提升代码的可读性和维护性。

    Android真实项目所需要的所有工具类集合

    2. **日期时间工具类**:包含对日期和时间的解析、格式化、计算等功能,方便开发者处理与时间相关的业务逻辑。 3. **颜色工具类**:支持颜色的转换,如RGB到ARGB,十六进制颜色值到RGB等,有助于UI设计和动画效果的...

    java开发,30个常用工具类总结,全部来自项目实践中用到的工具类

    1. **DateUtils**: `java.util.Date` 和 `java.time` 包含日期和时间的操作,但DateUtils通常是Apache Commons Lang库中的一个工具类,提供更方便的日期处理方法,如格式化、解析、比较和日期的加减操作。...

    自己整理的C#常用工具类

    因此,开发者应当不断审视和提炼项目中的重复逻辑,将其抽象到工具类中。 9. **性能优化**:对于效率敏感的工具方法,开发者需要注意性能优化,例如避免不必要的内存分配,减少循环次数,利用缓存等。 10. **单元...

    时间,字符串常用工具类

    以上三个工具类都是软件开发中的实用组件,它们大大简化了开发人员处理时间、字符串和网络时间的工作。理解并熟练使用这些工具类能够提升代码的效率和质量,减少错误,同时也有助于构建更加健壮和可靠的系统。在实际...

    一个简单的时间格式化工具类

    1. **java.time**: Java 8引入的新的日期时间API,可能在这个工具类中被使用,提供更强大和灵活的日期时间处理功能。 2. **SimpleDateFormat**: 虽然java.time API是推荐的,但SimpleDateFormat是旧的日期时间格式...

    Java日期工具类,Java时间工具类,Java时间格式化

    本篇将围绕Java中的日期工具类和时间工具类展开讨论,同时会涉及到日期时间的格式化。 首先,Java 8之前,我们主要依赖`java.util.Date`和`java.text.SimpleDateFormat`这两个类来处理日期和时间。`Date`类用于表示...

    flex 学习项目中总结的时间处理工具类DateUtils

    在这个名为"flex 学习项目中总结的时间处理工具类DateUtils"的项目中,我们可能找到了一个针对Flex开发环境优化的日期处理工具。Flex是一种基于Adobe ActionScript的开源框架,主要用于构建富互联网应用(RIA)。 `...

    Java - DateUtil 日期时间转换工具类

    资源名称:DateUtil 日期时间转换工具类 ...资源功能:项目需要编写与时间转换相关的代码,使用该工具类可以简化开发。 适用人群:具有一定编程经验,能够看懂相关Date类,LocalDate类时间类的方法的开发人员。

    我自己日常使用的工具类

    一个日期时间工具类可能有解析和格式化日期、计算时间差等功能;网络工具类则可能帮助我们简化HTTP请求或处理网络数据。 在实际开发中,这样的工具类库非常有价值,因为它们可以帮助我们避免重复造轮子,专注于核心...

    uni-app一些工具类

    7. **动画和过渡效果**:uni-app允许自定义动画,工具类中可能包含封装好的动画函数,便于在不同场景下复用。 8. **设备信息获取**:uni-app提供了获取设备信息的API,Utils可能封装了这些功能,如`getDeviceInfo()...

    Android快速开发系列 10个常用工具类 程序源码

    在Android应用开发中,工具类(Utils)是程序员经常使用的辅助模块,它们包含了一系列静态方法,用于处理各种常见的任务,从而提高代码的复用性和可维护性。本资源"Android快速开发系列 10个常用工具类 程序源码...

    时间日期工具类(包含java8新特性).zip

    在Java编程中,时间日期处理是一项常见的任务,尤其是在SpringBoot框架中。...通过学习和使用这些工具类,我们可以更好地管理和操作应用程序中的日期时间数据,避免重复编写相同的日期时间处理代码。

    C#工具类库类库 包含所有的常用工具类

    压缩包内的"SufeiUtil.sln"是一个Visual Studio解决方案文件,其中可能包含了上述所有工具类的源代码项目。而"DotNet.Utilities"可能是实际的库文件,包含已编译的工具类。 总的来说,这个C#工具类库提供了全面的...

    java时间工具类,基本上全面的包括常用的关于时间的处理

    Java时间工具类是Java开发中不可或缺的一部分,它们提供了一系列方便的方法来处理日期和时间,使得开发者可以更加高效地进行时间相关的操作。在这个简单的DateUtil.java工具类中,我们可以期待找到一些基本但实用的...

    淘淘商城07-工具类

    在IT行业中,工具类是程序员日常开发中必不可少的一部分。这些工具类通常包含了各种常用功能的封装,能够提高代码的复用性和开发效率。...在实际使用中,理解并熟练掌握这些工具类的用法,对于提升开发效率至关重要。

    redis utils 工具类

    在工具类中,我们通常会定义静态方法,如`getJedis()`和`returnResource(Jedis jedis)`,用于获取和释放Jedis资源,以确保连接管理的正确性。 2. **连接池的配置** 在实际项目中,为提高性能和减少资源消耗,我们...

    android项目的10个常用工具类

    2. **日期时间工具类** (DateTimeUtils): - 提供日期和时间的格式化、解析、比较、计算等功能。 - `getFormattedDate()` 方法将日期对象转换为用户友好的字符串格式。 - `getTimeDiff()` 方法计算两个日期之间的...

Global site tag (gtag.js) - Google Analytics