我试图在FoxPro规范中创建DBF文件,但idk如何插入日期。我不知道如何将java Date转换为:
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);
它的工作正常,但是当我尝试将datetime与"yyyyMMddHHmmss"
一起使用时,我看到非常糟糕的结果,如17.08.33409 12:34:20(只有月份是正确的)。
答案 0 :(得分:0)
VFP具有Date和DateTime字段类型。
用于插入日期的VFP语法是:
Insert into mytable (mydatefield) values ({^YYYY-MM-DD})
或
Insert into mytable (mydatefield) values (Date(YYYY,MM,DD))
对于日期时间(假设VFP中的字段是日期时间)
Insert into mytable (mydatefield) values ({^YYYY-MM-DD HH:MM:SS})
或
Insert into mytable (mydatefield) values (DateTime(YYYY,MM,DD,HH,MM,SS))
因此,假设您可以从Java日期提取年,月,日的文本表示,则可以从中构建VFP查询。