package com.payease.chains.risk.utils;
import org.apache.commons.lang.time.DateUtils;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @Author : zhangwen
* @Data : 2017/9/18
* @Description :
*/
public class DateUtil {
//日期时间格式
public static String FORMAT_PATTERN_DATE = "yyyy-MM-dd";
//时分秒时间格式
public static String FORMAT_PATTERN_TIME = "yyyy-MM-dd HH:mm:ss";
/**
* @Author zhangwen
* @MethodName getDaySpace
* @Params [fromDay, toDay]
* @Return int
* @Date 2017/9/18 上午10:38
* @Desp 获取两个日期的时间差值
*/
public static int getDaySpace(Date fromDay, Date toDay) throws Exception {
SimpleDateFormat simpleFormat = new SimpleDateFormat(FORMAT_PATTERN_TIME);
String fromDate = simpleFormat.format(fromDay);
String toDate = simpleFormat.format(toDay);
long from = simpleFormat.parse(fromDate).getTime();
long to = simpleFormat.parse(toDate).getTime();
int days = (int) ((to - from) / (1000 * 60 * 60 * 24));
return days;
}
/**
* @Author zhangwen
* @MethodName getNow
* @Params [pattern]
* @Return java.util.Date
* @Date 2017/9/18 上午10:40
* @Desp 获取系统当前时间
*/
public static Date getNow(String pattern) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.parse(sdf.format(new Date()));
}
/**
* @Author zhangwen
* @MethodName parseDate
* @Params [parseStr, pattern]
* @Return java.util.Date
* @Date 2017/9/18 上午10:45
* @Desp 格式化时间 返回时间类型
*/
public static Date parseDate(String parseStr, String pattern) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.parse(parseStr);
}
/**
* @Author zhangwen
* @MethodName formatDate
* @Params [date, pattern]
* @Return java.lang.String
* @Date 2017/9/18 下午4:36
* @Desp 时间格式化 返回字符串类型
*/
public static String formatDate(Date date, String pattern) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
public static void main(String[] args) {
try {
Date from = parseDate("2017-06-12", FORMAT_PATTERN_DATE);
Date now = getNow(FORMAT_PATTERN_DATE);
System.out.println(getDaySpace(from, now));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 得到一天的最后一秒钟
*
* @param d
* @return
* @Author lch
*/
public static Date endOfDay(Date d) {
return DateUtils.addSeconds(
DateUtils.addDays(DateUtils.truncate(d, Calendar.DATE), 1), -1);
}
}