最近項目的需求,微博徵信貸中首單模型在開發過程中用到了部分時間差特徵和一些與訂單相關的信息來提高模型效果,時間差要求保留兩位小數的天數,代碼如下:
public static float decimalFormat(String pattern, double value) {
return Float.parseFloat(new DecimalFormat(pattern).format(value));
}
/**
* 通過時間秒毫秒數判斷兩個時間的間隔
*
* @param date1
* @param date2
* @return
*/
public static float differentDaysByMillisecond(Date date1, Date date2) {
long diffSeconds = date2.getTime() - date1.getTime();
long diffHour = diffSeconds / (1000 * 3600);
System.out.println("獲得小時:" + diffHour);
float diffDay = (float) diffHour / 24;
float floatDay = decimalFormat("0.00", diffDay);
System.out.println(decimalFormat("0", diffDay));
return floatDay;
}
public static void main(String[] args) {
String dateStr = "2008-1-1 1:21:28";
String dateStr2 = "2008-2-1 2:21:28";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date2 = format.parse(dateStr2);
Date date = format.parse(dateStr);
System.out.println("兩個日期的差距:" + differentDaysByMillisecond(date, date2));
} catch (ParseException e) {
e.printStackTrace();
}
}