import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * 获得时间工具类 * */ public class DateUtil { private static final SimpleDateFormat longDateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); /** * 获得currentTime 时间 加减 second时间 * * @param String * currentTime 将变为日期型 * @param second * @return */ public static String getDate(String currentTime, int second) { Calendar calendar = Calendar.getInstance(); Date date = parseLongDate(currentTime); calendar.setTime(date);// 将date变成 calendar 所有的 date 运算都要转换成为calendar // 进行计算 calendar.add(Calendar.SECOND, second); String dStr = ""; if (calendar != null) { dStr = formatLongDate(calendar.getTime()); } return dStr; } public static String getTimeSpace(String endTimeStr, String startTimeStr) { Date endTime = parseLongDate(endTimeStr); Date startTime = parseLongDate(startTimeStr); long between01 = ((endTime.getTime() - startTime.getTime()) / 1000)// 小时 / (60 * 60);// 分钟 long between02 = ((endTime.getTime() - startTime.getTime()) / 1000) / 60; long between03 = ((endTime.getTime() - startTime.getTime()) / 1000);// 除以1000就转换成了秒,可以根据自己的实际情况来定。 String between = between01 + "小时/" + between02 + "分钟/" + between03 + "秒"; return between; } /** * @param date * 将日期转换成规定的日期格式 * @return */ public static String formatLongDate(Date date) { if (date == null) return ""; return longDateFormat.format(date); } /** * @param value * 将String 时间转换为固定的格式 * @return */ public static Date parseLongDate(String value) { Date dt = null; if (value == null) return null; try { dt = longDateFormat.parse(value); } catch (Exception e) { System.out.println("时间转换异常!"); } return dt; } /** * @param time * @param value * @return 给一个时间,给一个偏移时间差,获得前后时间范围 使用方式:DateUtil.getStratEndTiem(time, * value).get("startTime"); */ @SuppressWarnings("unchecked") public static Map getStratEndTiem(String time, int value) { Map map = new HashMap(); String endTime = getDate(time, value); String startTime = getDate(time, -value); map.put("endTime", endTime); map.put("startTime", startTime); return map; } public static void main(String[] args) { Date d = new Date(); String currentTime = formatLongDate(d); String endTime = getDate(currentTime, 59); String startTime = getDate(currentTime, -59); System.out.println(getTimeSpace("2013-2-6 17:50:00.0", "2013-2-5 17:53:34")); System.out.println(currentTime); System.out.println(endTime); System.out.println(startTime); } }
评论