DateTool日期工具类

/**
 * 日期工具类
 *
 */
public class DateTool {
	public static SimpleDateFormat sf = new SimpleDateFormat(
			"yyyy-MM-dd HH:mm:ss");

	/**
	 * 根据字符串返回日期yyyy-MM-dd HH:mm:ss
	 * 
	 * @param s
	 * @return
	 */
	public static Date getDateFromString(String s) {
		Date d = null;
		try {
			d = sf.parse(s);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return d;
	}

	/**
	 * 返回指定时间年月日时分秒
	 * 
	 * @param date
	 * @return
	 */
	public static String getDateTime(Date date) {
		String dateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
				.format(date);
		return dateTime;
	}

	/**
	 * 获取指定时间时分秒
	 * 
	 * @param date
	 * @return
	 */
	public static String getTime(Date date) {
		String dateTime = new SimpleDateFormat("HH:mm:ss").format(date);
		return dateTime;
	}

	/**
	 * 获取指定日期年月日
	 * 
	 * @param date
	 * @return
	 */
	public static String getDate(Date date) {
		String dateTime = new SimpleDateFormat("yyyy-MM-dd").format(date);
		return dateTime;
	}

	/**
	 * 指定时间(分钟)后时间(时分秒)
	 * 
	 * @param minute
	 * @return
	 */
	public static Date addAppointedDate(Date d, int minute) {
		long oldTime = d.getTime();
		long newTime = oldTime + 1000 * 60 * minute;
		return new Date(newTime);
	}

	/**
	 * 返回一个时间(指定范围内,5分钟一个09:00-16
	 * 
	 * @return
	 */
	public static String getExcuteTime() {
		String time = "";
		Date now = new Date();
		Date begin = null;
		Date end = null;
		Date begin1 = null;
		Date end1 = null;
		List<String> times = new ArrayList<String>();
		try {
			begin = sf.parse(getDate(now) + " 09:00:00");
			end = sf.parse(getDate(now) + " 11:30:00");
			begin1 = sf.parse(getDate(now) + " 15:00:00");
			end1 = sf.parse(getDate(now) + " 17:30:00");
			for (int i = 0; i < 25; i++) {
				times.add(getTime(addAppointedDate(begin, i * 6)));
			}
			for (int i = 0; i < 25; i++) {
				times.add(getTime(addAppointedDate(begin1, i * 6)));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		// for(String s:times){
		// System.out.println(s);
		// }
		time = times.get((int) (times.size() * Math.random()));
		return time;
	}

	/**
	 * d1日期与d2日期相差的天数
	 * 
	 * @param d1
	 * @param d2
	 * @return
	 */
	public static double dateSubtract(Date d1, Date d2) {
		double length = d1.getTime() - d2.getTime();
		double kd = 1000 * 60 * 60 * 24;
		double d =Math.abs(length / kd);
		try {
//			NumberFormat format = NumberFormat.getNumberInstance();
//			format.setMaximumFractionDigits(2);
//			System.out.println(format.format(d));
//			d = Double.parseDouble(format.format(d));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return d;
	}

	public static void main(String[] args) {
		double real = dateSubtract(getDateFromString("2010-04-30 19:30:23"),
				getDateFromString("2012-05-02 04:15:34"));
		System.out.println(real);
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值