-->

将Java日期以DBF FoxPro的日期时间格式(Convert java Date to dbf

2019-10-20 19:10发布

我试着去创造的FoxPro规范DBF文件,但IDK的如何插入日期。 我不知道如何将Java日期转换为这样的:

FoxPro的字段是2个的32位整数:一个店的日期,其他店的时候,存储在相反的字节顺序。 日期整数存储的天从1/1 / 4712BC数。 时间整数存储从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);

其做工精细,但当我尝试使用日期时间与"yyyyMMddHHmmss"我看得很坏的结果,像17.08.33409 12时34分二十秒(仅一个月是正确的)。

Answer 1:

VFP既有日期和DateTime字段类型。

插入日期的VFP语法是:

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

要么

Insert into mytable (mydatefield) values (Date(YYYY,MM,DD))

和日期时间(在VFP假设字段是DATETIME)

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

要么

Insert into mytable (mydatefield) values (DateTime(YYYY,MM,DD,HH,MM,SS)) 

因此,假如你可以从你可以建立从你的VFP查询您的Java日期中提取年,月,日的文本表示。



文章来源: Convert java Date to dbf FoxPro datetime format