Java时间工具类

Java时间工具类封装

public class DateUtil {
	/**
	 * 获取当前日期 时间格式yyyyMMdd可以定义自己需要的
	 * 
	 * @return yyyyMMdd 年月日
	 */
	public static String getCurrentDate() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		return sdf.format(new Date());
	}

	/**
	 * 获取当前时间
	 * @return HHmmss 时分秒
	 */
	public static String getCurrentTime() {
		SimpleDateFormat sdf = new SimpleDateFormat("HHmmss");
		return sdf.format(new Date());
	}

	/**
	 * 获得当前时间 转换为时间戳类型
	 * @param
	 * @return
	 * @throws ParseException
	 */
	public static Timestamp getCurTime2Timestamp() throws ParseException {
		Timestamp t = new Timestamp(System.currentTimeMillis());
		String d2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(t);
		Timestamp.valueOf(d2);
		return t;
	}

	/**
	 * 获取当天的启始时间
	 * 
	 * @return
	 */
	public static String getStartTime() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(new Date());
		calendar.set(Calendar.HOUR_OF_DAY, 0);
		calendar.set(Calendar.MINUTE, 0);
		calendar.set(Calendar.SECOND, 0);
		Date start = calendar.getTime();
		calendar.add(Calendar.DAY_OF_MONTH, 1);
		calendar.add(Calendar.SECOND, -1);
		Date end = calendar.getTime();
		return sdf.format(start);
	}

	/**
	 * 比较两个日期的大小
	 */
	public static boolean compare(Date d1, Date d2) {
		if (d1.after(d2)) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * 判断是否是闰年
	 */
	public boolean isLeapyear(int year) {
		if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * @author zhaoweia 月份相减
	 * @param startDate
	 * @param enDate
	 * @return startDate - enDate
	 */
	public static int divMonth(Date startDate, Date enDate) {
		Calendar startCalendar = Calendar.getInstance();
		startCalendar.setTime(startDate);

		Calendar endCalendar = Calendar.getInstance();
		endCalendar.setTime(enDate);

		int yearDiv = startCalendar.get(Calendar.YEAR) - endCalendar.get(Calendar.YEAR);

		int monthDiv = startCalendar.get(Calendar.MONTH) - endCalendar.get(Calendar.MONTH);

		return monthDiv + yearDiv * 12;
	}

	/**
	 * 时间计算一 当前日期+毫秒数
	 * @return
	 * @throws ParseException
	 */
	public static String dateAdd(String numData) throws ParseException {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date = format.parse(format.format(new Date()));
		Date date2 = new Date(date.getTime() + Long.parseLong(numData));
		String str = format.format(date2);
		return str;

	}

	/**
	 * 时间计算二 传过来的日期+毫秒
	 * @param pat1(日期)
	 * @param pat2(毫秒)
	 * @return
	 * @throws ParseException
	 */
	public static String dateAdd(String pat1, String pat2) throws ParseException {
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date2 = new Date(dateFormat.parse(pat1).getTime() + Long.parseLong(pat2));
		String str = dateFormat.format(date2);
		return str;
	}

	/**
	 * 天数转毫秒
	 * @param stringDay(天数)
	 * @return
	 */
	public static String dateToMillisecond(String stringDay) {
		Long a = Long.parseLong(stringDay) * 24L * 60L * 60L * 1000L;
		return a.toString();
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值