当前位置: 代码迷 >> J2EE >> java 中的时间如何相加,把int转换为date型后时间不对
  详细解决方案

java 中的时间如何相加,把int转换为date型后时间不对

热度:187   发布时间:2016-04-22 02:51:50.0
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());    }}
  相关解决方案