最近公司最一个项目点击产生一个开始的时间,然后过了几个小时,让算时间,开始我以为很简单,但是我想了一下没有那么容易,所以我写好了代码,分享一下,方便下次使用:
public class addDate {
//测试的方法
public static void main(String[] args) {
String date1 = "2009-03-23 08:00:00";
String time="2.06";
int x = Integer.parseInt(time.substring(0,1));
int y = Integer.parseInt(time.substring(2,3))*6;
String date2= addDate(date1,x,y);//加1小时方法
System.out.println(date2);
}
public static String Date(String day, String time){
// SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//完整的时间
// sdf.format(day) (这块时间如果是date类型需要转化为String类型)
String date1=day;
int x = Integer.parseInt(time.substring(0,1));
int y = Integer.parseInt(time.substring(2,time.length()))*6;
String date2= addDate(date1,x,y);//加1小时方法
return date2;
}
public static String addDate(String day, int x,int y)
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制
//SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制
Date date = null;
try
{
date = format.parse(day);
}
catch (Exception ex)
{
ex.printStackTrace();
}
if (date == null) return "";
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.HOUR, x);//24小时制
cal.add(Calendar.MINUTE,y);
//cal.add(Calendar.HOUR, x);12小时制
System.out.println(cal);
date = cal.getTime();
System.out.println("front:" + date);
cal = null;
return format.format(date);
}
}
上面只是过了几个小时多少分钟 ,这块没有到秒 ,如果要到秒 直接可以加,方法都一样的