有两个日期时间,我想知道如何判断这两个值的差值超过5天如何判断
比如:
String datetime1 = 2006-10-31 09:37:39;
String datetime2 = 2006-10-26 10:20:49;
是否可以将他们转换成字符串来比较呢?
20061031093739有没有好的实现思路,谢谢
比如:
String datetime1 = 2006-10-31 09:37:39;
String datetime2 = 2006-10-26 10:20:49;
是否可以将他们转换成字符串来比较呢?
20061031093739有没有好的实现思路,谢谢
throws IncorrectParameterException { double diff = 0;
switch (deltaType) {
case Constants.DATA_DELTA_TYPE_DAY:
diff = (toDate.getTime() - fromDate.getTime()) / (1000L * 3600 * 24); //day
break;
case Constants.DATA_DELTA_TYPE_WEEK:
diff = (toDate.getTime() - fromDate.getTime()) / (1000L * 3600 * 24 * 7); //month
break;
case Constants.DATA_DELTA_TYPE_MONTH:
diff = (toDate.getTime() - fromDate.getTime()) / (1000L * 3600 * 24 * 30); //month
break;
case Constants.DATA_DELTA_TYPE_YEAR:
diff = (toDate.getTime() - fromDate.getTime()) / (1000L * 3600 * 24 * 365); //year
break;
default:
throw new IncorrectParameterException("incorrect parameter ");
}
return diff;
}
StringUtil.formatInputStrToChar14这个函数是将日期时间转换为14位字符串
比如"2006-10-31 09:37:39"通过上面的函数可转换为"20061031093739"
double dbl1 = Double.parseDouble(StringUtil.formatInputStrToChar14(datetime1));
double dbl2 = Double.parseDouble(StringUtil.formatInputStrToChar14(datetime2));
double timeStandardDbl = 5*24*60*60;//把5天转换为秒
//计算差值
double timeSpace = dbl1-dbl2;
if(timeSpace >timeStandardDbl ){
//标识超时
}
int days = calLocal.get(Calendar.DAY_OF_YEAR) - calUse.get(Calendar.DAY_OF_YEAR);
SimpleDateFormat fa = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss");
System.out.println("修改前:"+fa.format(ca.getTime()));
ca.add(ca.DAY_OF_YEAR,5);
System.out.println("修改后:"+fa.format(ca.getTime()));
不要用转化毫秒的方法来做,如果说每天都是24小时,那要闰年干嘛啊?
我不大懂历法,但我觉得不能用毫秒等类似的方法,还是用Calendar 好了