导入execl 时 原execl 为
解析后时间格式变为 44127.359525629600
此时间类型为 Delphi的日期类型 计算方式 从1899-12-30开始算
工具类为
//入参为double 就完事了
//返回值为 outFormat 的时间格式的string类型
public Stringdouble2Date(Double d){
String t;
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());
return t;
}
在Delphi中,TDateTime=Double,如果Java要取得Delphi开发的OCX控件的时间日期参数,必须把Double值转换为Date类型。
数据库的Date类型也是存储Double值,在Java中同上要把Double转为为Date。