将java日期转换为dbf FoxPro datetime格式

将java日期转换为dbf FoxPro datetime格式,java,jodatime,foxpro,dbf,Java,Jodatime,Foxpro,Dbf,我试图在FoxPro规范中创建DBF文件,但我不知道如何插入日期。我不知道如何将java日期转换为: FoxPro的字段是2个32位整数:一个存储日期,另一个存储日期 以反向字节顺序存储时间。整数存储的日期 从公元前4712年1月1日开始的天数。时间整数存储数字 从00:00:00算起的毫秒数 使用JodaTime很容易获得天数和毫秒: DateTime start = new DateTime(-4713, 1, 1, 0, 0, 0, 0); DateTi

我试图在FoxPro规范中创建DBF文件,但我不知道如何插入日期。我不知道如何将java日期转换为:

FoxPro的字段是2个32位整数:一个存储日期,另一个存储日期 以反向字节顺序存储时间。整数存储的日期 从公元前4712年1月1日开始的天数。时间整数存储数字 从00:00:00算起的毫秒数

使用JodaTime很容易获得天数和毫秒:

         DateTime start = new DateTime(-4713, 1, 1, 0, 0, 0, 0);
         DateTime end = new DateTime(2014, 1, 1, 0, 0, 0, 0);
         Days days = Days.daysBetween(start, end);
         long millis = end.getMillisOfDay();
但是如何将这些信息转换成所需的格式呢? 对于输入日期,我只使用:

SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyyMMdd");
simpledateformat.format(date);

它的工作很好,但是当我尝试将datetime与“yyyyMMddHHmmss”一起使用时,我看到了非常糟糕的结果,比如17.08.33409 12:34:20(只有月份是正确的)。

VFP同时具有日期和日期时间字段类型

用于插入日期的VFP语法为:

Insert into mytable (mydatefield) values ({^YYYY-MM-DD})

对于datetime(假设VFP中的字段是datetime)


因此,假设您可以从Java日期中提取年、月和日的文本表示形式,那么您可以从中构建VFP查询。

我进行了相关编辑,但仍然无法理解问题出在哪里。
Insert into mytable (mydatefield) values (Date(YYYY,MM,DD))
Insert into mytable (mydatefield) values ({^YYYY-MM-DD HH:MM:SS})
Insert into mytable (mydatefield) values (DateTime(YYYY,MM,DD,HH,MM,SS))