スプレッドシートから日付列と時刻列を読み込もうとしています。シートから日付列を取得できますが、時間列は取得できません。
たとえば、私のシートには次の形式の行があります。
日付時刻
2012 年 11 月 2 日 12:15:01
日付列を取得する次のコードがあります。
while(cellIterator.hasNext()) {
HSSFCell cell = (HSSFCell)cellIterator.next();
switch(cell.getCellType()){
case HSSFCell.CELL_TYPE_NUMERIC:
HSSFCellStyle style = cell.getCellStyle();
if (HSSFDateUtil.isCellDateFormatted(cell))
{
d = (Date)getDateValue(cell);
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
System.out.println(dateFormat.format(d));
}
}
}
protected static Object getDateValue(HSSFCell cellDate)
{
double numericDateValue = cellDate.getNumericCellValue();
Date date = HSSFDateUtil.getJavaDate(numericDateValue);
return date;
}
ご覧のとおり、私は使用しています
HSSFDateUtil.isCellDateFormatted(セル)
セルに日付値が含まれているかどうかを確認します。関数を使用してセルに時間値があるかどうかを確認できるかどうかを知りたいです。
Excel シートは外部ソースからのものです。そのため、その形式を変更することはできません。
現在、日付列の正しい日付値を取得しています。しかし、時間列の場合、私は取得しています
1899/12/31
すべての行の結果として