首页 > 代码库 > Java各种日期计算
Java各种日期计算
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();
}
Java各种日期计算