DateUtil

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 Long getTimeSpace(String endTimeStr, String startTimeStr) {
		Date endTime = parseLongDate(endTimeStr);
		Date startTime = parseLongDate(startTimeStr);
		long between = (endTime.getTime() - startTime.getTime()) / 1000; // 除以1000就转换成了秒,可以根据自己的实际情况来定。
		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);
		getTimeSpace("2009-10-12 17:53:34", "2009-10-12 17:50:00.0");
	}

}

 

你可能感兴趣的:(java)