我正在使用Apache POI读取excel数据集和JPA以持久存储到数据库中。这是正常工作,除了我需要使用相同的方法正确地获取一组日期/时间值到数据库(读入apache poi,然后坚持到数据库)。目前我使用的是SimpleDateFormat,它实际上并没有任何用处。我们需要查询此列,因此我需要在数据库中理想地使用mySQL日期。
时间/日期列的数据集示例
21/10/2012 13:20:00
爪哇
Sheet sheet1 = wb.getSheetAt(0);
String dateTimeFormat = "dd/MM/yyyy HH:mm:ss";
SimpleDateFormat dateFormat = new SimpleDateFormat(dateTimeFormat);
for (int i = 1; i <= sheet1 .getLastRowNum(); i++) {
row = sheet1 .getRow(i);
String sheet1Id = i+"";
double excelDateTime = row.getCell(0).getNumericCellValue();
Date javaDateTime=HSSFDateUtil.getJavaDate(excelDateTime,false);
String dateTime = dateFormat.format(javaDateTime);
Table1 sheet1=new Table1 (sheet1Id ,dateTime)
addToDatabase(table1);
}
对此的任何解决方案以及关于在mySQL数据库中创建此列的最佳方法的任何建议(该列目前是varchar)?
干杯
答案 0 :(得分:2)
使用JPA / JDBC时,java.util.Date对应于DATETIME列(或TIMESTAMP,或DATE,请参阅MySQL-manual以了解它们的细微差别)。由于您已直接从HSSFDateUtil
获取Date对象,因此无需进一步转换。
PS:你为什么不直接使用HSSFCell.getDateCellValue()
?