//时间加减固定时间
//time,当前时间:20101225000000年月日时分秒String型
public String getTimeAfterValidTime(String time,String addTime) {
//提取出年月日时分秒具体值
int year = Integer.parseInt(time.substring(0, 4));
int month = Integer.parseInt(time.substring(4, 6));
int date = Integer.parseInt(time.substring(6, 8));
int hour = Integer.parseInt(time.substring(8, 10));
int min = Integer.parseInt(time.substring(10, 12));
int sec = Integer.parseInt(time.substring(12, 14));
//需要增加的时间(分钟)
int minAdd = Integer.parseInt(addTime);
//创建一个Calendar的当前时间
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month - 1);//月份从0-11代表1月至12月
c.set(Calendar.DATE, date);
c.set(Calendar.HOUR_OF_DAY, hour);
c.set(Calendar.MINUTE, min);
c.set(Calendar.SECOND, sec);
//时间计算 toMin = 60*1000转成毫秒
Long times = c.getTimeInMillis() + minAdd * toMin;
//将计算结果转成需要的格式
SimpleDateFormat form = new SimpleDateFormat("yyyyMMddHHmmss");
Date endTime = new Date(times);
return form.format(endTime);
}
PS:数据库中存时间设置成14位或者8位VARCHAR(2)格式,然后调用数据库自带当前时间函数获取
例如,ORACLE用
select
to_char(sysdate,'yyyymmddhh24miss') as systemtime
FROM DUAL
获取当前时间,整个项目时间需以数据库时间为标准