我正在尝试为sqlite
数据库添加时间。
在我提出问题之前,这里有一些信息:
sqlite
中的时间字段属于DateTime。所以,这是我的时间格式:
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
这是我提交添加到数据库的信息的方式:
edto.setTime(formatter.parse(startHrs.getText() + ":" + startMin.getText()));
在sqlite中它变成这样:
40320000
但是,当我想用数据库中的数据填充JTable时,时间显示为1970-01-01
。我希望它显示实际时间而不是这个。和其他类型我一样处理它们:
private void setDTOField(Field dtoField, BaseDTO dto, ResultSet rs) throws IllegalAccessException, IllegalArgumentException, SecurityException, IOException, InstantiationException {
dtoField.setAccessible(true);
try {
if (byte[].class.equals(dtoField.getType())) {
String mimedString = rs.getString(getDBColumnName(dtoField.getName()));
if (mimedString != null) {
byte[] compressedBytes = convertBASE64StringToBytes(mimedString);
dtoField.set(dto, compressedBytes);
}
} else if (Date.class.equals(dtoField.getType())) {
dtoField.set(dto, rs.getDate(getDBColumnName(dtoField.getName())));
}
所以我能做什么,我对时间一无所知。日期很好,但时间我不确定。什么可以改变?它容易纠正吗?也许在数据库中它应该是字符串,或者在bean中不应该是Date。伙计们请支持我一些解决方案。