Java各种日期计算

jopen 10年前

1、时间格式化通用处理。        /**       * 将用户给定的时间以指定的时间格式进行格式化。<br/>       *       * @param dateTime 时间       * @param dateTimeFmat 时间格式       * @return String - 格式化后的时间内容       */      public static final String fmatLongToString(long dateTime, String dateTimeFmat) {          return new SimpleDateFormat(dateTimeFmat).format(dateTime);      }      /**       * 字符串时间转换为long类型处理。<br/>       *       * @param date 时间字符串       * @param fmat 时间格式       * @return long - 转换结果(异常时返回 -1L)       */      public static final long fmatStringToLong(String date, String fmat) {          long rsltDate = -1L;          try {              rsltDate = new SimpleDateFormat(fmat).parse(date).getTime();          } catch (ParseException e) {              rsltDate = -1L;          }          return rsltDate;      }    2、以指定的日期,取得其所在周的周一日期和周日日期。        /**       * 取得指定日期所在周的周一日期。<br/>       *       * @param dateTime 指定日期       * @return long - 日期所在周的周一日期       */      public static final long getFrstDateOfWeekByDate(long dateTime) {            // 日期处理对象初始化          Calendar cldr = Calendar.getInstance();          // 指定时间设置          cldr.setTimeInMillis(dateTime);            // 指定时间周期判断          if (cldr.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {                // 周日时,计算本周一日期              cldr.add(Calendar.DAY_OF_MONTH, -6);          } else if (cldr.get(Calendar.DAY_OF_WEEK) > Calendar.MONDAY) {                // 周二至周六时,计算本周一日期              cldr.add(Calendar.DAY_OF_MONTH, (2 - cldr.get(Calendar.DAY_OF_WEEK)));          }            // 处理结果返回          return cldr.getTimeInMillis();      }      /**       * 取得指定日期所在周的周日日期。<br/>       *       * @param dateTime 指定日期       * @return long - 日期所在周的周日日期       */      public static final long getLastDateOfWeekByDate(long dateTime) {            // 日期处理对象初始化          Calendar cldr = Calendar.getInstance();          // 指定时间设置          cldr.setTimeInMillis(dateTime);            // 指定时间周期判断          if (cldr.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {                // 周一至周六时,计算本周日日期              cldr.add(Calendar.DAY_OF_MONTH, (8 - cldr.get(Calendar.DAY_OF_WEEK)));          }            // 处理结果返回          return cldr.getTimeInMillis();      }