一个sql类的Date ,我要怎么在那个日期上加上指定天数,然后获得的还是一个sql类的Date?

一个食品有生产日期,也有保质期,假设从数据库中获得A食品生产日期是2011-11-11日,然后保质期是180天,那么我要得到的是180天后是那年那月那日,并且是一个Date对象。请问这个好怎么做呢?
那SQL的Date和util的Date怎么互相转换了?麻烦了哈

请看清楚是 Java中的 不是数据库

//***************************************************
//名称:strToDate
//功能:将指定的字符串转换成日期
//输入:aStrValue: 要转换的字符串;
// aFmtDate: 转换日期的格式, 默认为: "yyyy/MM/dd "
// aDteRtn: 转换后的日期
//输出:
//返回:TRUE: 是正确的日期格式; FALSE: 是错误的日期格式
//***************************************************
public static boolean strToDate(
String aStrValue,
String aFmtDate,
java.util.Date aDteRtn)
{
if (aFmtDate.length() == 0)
{
aFmtDate = "yyyy/MM/dd ";
}
SimpleDateFormat fmtDate = new SimpleDateFormat(aFmtDate);
try
{
aDteRtn.setTime(fmtDate.parse(aStrValue).getTime());
}
catch (Exception e)
{
return (false);
}

return (true);
}

//***************************************************
//名称:dateToStr
//功能:将指定的日期转换成字符串
//输入:aDteValue: 要转换的日期;
// aFmtDate: 转换日期的格式, 默认为: "yyyy/MM/dd "
//输出:
//返回:转换之后的字符串
//***************************************************
public static String dateToStr(java.util.Date aDteValue, String aFmtDate)
{
String strRtn = null;

if (aFmtDate.length() == 0)
{
aFmtDate = "yyyy/MM/dd ";
}
Format fmtDate = new SimpleDateFormat(aFmtDate);
try
{
strRtn = fmtDate.format(aDteValue);
}
catch (Exception e)
{

}

return (strRtn);
}

第二种。
import java.util.*;
import java.text.SimpleDateFormat;
class test
{
public static void main(String[] args)
{
long nCurrentTime = System.currentTimeMillis();
java.util.Date utilDate = new java.util.Date(nCurrentTime);

GregorianCalendar da = new GregorianCalendar(2004, 11, 23, 11, 45, 50);
java.util.Date time = da.getTime();
java.sql.Date sqlDate = new java.sql.Date(time.getTime());
java.sql.Time sqlTime = new java.sql.Time(time.getTime());
java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(nCurrentTime);

System.out.println(time);
System.out.println( "sqlDate:----- "+sqlDate);
System.out.println( "sqlTime:----- "+sqlTime);
System.out.println( "sqlTimestamp:----- "+sqlTimestamp);
}
}

你自己选吧。后面的这个比较好。你自己最好写一个公共的util类。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-09
用dateadd函数
第2个回答  2011-12-09
hql = "select DATEADD(d,180,'2011-11-11') from 表"; 没问题的 HQL 只有配置文件编写的没问题 大部分的ORACLE函数都是可用的
第3个回答  2011-12-09
SELECT DATEADD(d,180,'2011-11-11')追问

如果是 hibernate的 查询怎么写呢 HQL?

但是我问的是在Java中怎么做。

追答

。。。我不会了,没做过Java的。