问题
当second=10等很小时,结果是对的, 但是如果second很大时,比如60*60*24*
60(天)=5184000,结果就不对了
Date afterDate = new Date(new Date().getTime() + 1000 * second);



疑问

long应该很大才对,不知为啥时间不准
解决
改为:
public static String getTimeForAdd(Date date, int day, int hour, int minute ,int second) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar nowTime = Calendar.getInstance();
nowTime.clear();//1970年1月1日 0点0分0秒
nowTime.setTime(date);
nowTime.add(Calendar.DATE, day);
nowTime.add(Calendar.HOUR, hour);
nowTime.add(Calendar.MINUTE, minute);
nowTime.add(Calendar.SECOND, second);
return sdf.format(nowTime.getTime());
}
/**
* 当前时间下加很大的秒
* @param date
* @param t
* @return
*/
public static String parseAddTimeSeconds(Date date,long t) {
String s = parseTimeSeconds(t);
String[] str = s.split(",");
String re = getTimeForAdd(date,Integer.valueOf(str[0]),Integer.valueOf(str[1]),Integer.valueOf(str[2]),Integer.valueOf(str[3]));
return re;
}
String afterDateStr = DateUtils.parseAddTimeSeconds(t1,second);