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(); }