/*
在Delphi中,TDateTime=Double,如果Java要取得Delphi开发的OCX控件的时间日期参数,必须把Double值转换为Date类型。
数据库的Date类型也是存储Double值,在Java中同上要把Double转为为Date。
下面是Java函数,把Double值转换为Date:
*/
public Date double2Date(Double d)
{
Date t;
try {
Calendar base = Calendar.getInstance();
SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//Delphi的日期类型从1899-12-30开始
base.set(1899, 11, 30, 0, 0, 0);
base.add(Calendar.DATE, d.intValue());
base.add(Calendar.MILLISECOND,(int)((d % 1) * 24 * 60 * 60 * 1000));
t=outFormat.format(base.getTime());
}
catch (ParseException e) {
e.printStackTrace();
}
return t;
}