日期:2014-05-20  浏览次数:20818 次

java 中的时间怎么相加,把int转换为date型后时间不对啊
java 中的时间怎么相加,把int转换为date型后时间不对啊 
怎样才能得到正确的时间啊

------解决方案--------------------
package com.zhao.test.O1;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
 public static void main(String[] args) {
Date date = new Date();
// format对象是用来以指定的时间格式格式化时间的
SimpleDateFormat from = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 这里的格式可以自己设置
// format()方法是用来格式化时间的方法
String times = from.format(date);
//原始时间
System.out.println("原始时间:"+times);
date.setMinutes(date.getMinutes()+50);//给当前时间加50分钟后的时间
times=from.format(date);
System.out.println("相加之后的时间:"+times);
 }
}

详细的相加楼主就请看API吧
------解决方案--------------------
/**
* 描述:以long的格式增加num个月
* @param currentTm
* @param num
* @return
*/
public static long addMonth(long currentTm, int num){
long newTm = 0;

Calendar cale = Calendar.getInstance();
Date date = new Date();
date.setTime(currentTm);
cale.setTime(date);
cale.add(Calendar.MONTH, num);
newTm = cale.getTime().getTime();

return newTm;
}

/**
* 描述:以long的格式增加num天
* @param currentTm
* @param num
* @return
*/
public static long addDay(long currentTm, int num){
long newTm = 0;

Calendar cale = Calendar.getInstance();
Date date = new Date();
date.setTime(currentTm);
cale.setTime(date);
cale.add(Calendar.DATE, num);
newTm = cale.getTime().getTime();

return newTm;
}
------解决方案--------------------
你SQL里面用的是秒为单位,而JAVA里面则是毫秒为单位,差了1000所以出错

Java code

import java.util.Date;
import java.util.Calendar;

public class CalendarDemo2 {
    public static void main(String[] args) {
        Date date=new Date();
        Calendar c=Calendar.getInstance();
        System.out.println(""+c.getTime());

        int seconds=1295539200;//这是你数据库提出的数据
        long millions=new Long(seconds).longValue()*1000;
        System.out.println(""+millions);
        c.setTimeInMillis(millions);
        
        System.out.println(""+c.getTime());
    }
}