这个函数提供了把指定的时间加指定的分钟数得到一个新的时间,需要把时间偏移量先转换成分钟,
如想要计算某个时间点,在4天后的时间,4*60*24=5760,函数将计算指定时间5760分钟以后的时间
/**
* 日期数相加(除月份)
* @param dateStr日期字符串,格式yyyyMMddHHmmss
* @param m,分钟数,m>0表示m分钟之后的时间,m<0表示m分钟之前的时间
* @param dtfmt 日期格式
* @return 月份相加的结果
* */
public static String DateOperation(String dateStr,int m,String dtfmt){
try{
SimpleDateFormat myFormatter = new SimpleDateFormat(dtfmt);
Date mydate= myFormatter.parse(dateStr);
Calendar cal=Calendar.getInstance();
cal.setTime(mydate);
cal.add(Calendar.MINUTE, m); //加分钟数
return myFormatter.format(cal.getTime());
} catch(Exception e){
e.printStackTrace();
return "";
}
}
测试代码:
//时间相减
int m=-15;
String dt="20090228000000";
String str = DateOperation(dt,m,"yyyyMMddHHmmss");
putln("当前时间:"+dt + " " +m + " 分钟之前的时间:" + str);
测试结果:
当前时间:20090228000000 -15 分钟之前的时间:20090227234500
//时间相加
int m=15;
String dt="20090228000000";
String str = DateOperation(dt,m,"yyyyMMddHHmmss");
putln("当前时间:"+dt + " " +m + " 分钟之后的时间:" + str);
测试结果:
当前时间:20090228000000 15 分钟之后的时间:20090228001500
说明:这个函数需要把时间偏移量换算成分钟数,因为月份的天数不同,因此不能用来处理月份