我正在尝试验证使用 Apache POI 创建的电子表格中的日期。当我执行System.out.print
Date 变量时,单元格内容是相同的。为什么测试失败?
@Test
public void testSpreadsheetCont() throws Exception {
Date date = new Date();
boolean success = false;
FileInputStream fileInputStream = new FileInputStream("File Location.xls");
HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
HSSFSheet worksheet = workbook.getSheetAt(0);
HSSFRow row1 = worksheet.getRow(2);
HSSFCell cell0 = row1.getCell(0);
System.out.println(cell0.getDateCellValue());
System.out.println(date);
if (cell0.getDateCellValue() == date) {
success = true;
} else {
success = false;
}
Assert.assertTrue(success);
}
我认为错误是我在生成电子表格的类中格式化日期的方式。在那里它被格式化为("mm/dd/yyyy hh:mm")
. 但是当我将日期变量格式化("mm/dd/yyyy hh:mm")
并尝试比较这两个元素时,它是不成功的。
Date date = new Date();
SimpleDateFormat ft = new SimpleDateFormat("mm/dd/yyyy hh:mm");
if (cell0.getDateCellValue().toString() == ft.format(date)) {
success = true;
} else {
success = false;
}