将 Excel 中表示日期的数字转换为 Java Date 对象

2022-09-02 19:11:55

我在Excel中有一个日期列,但是当我在Java应用程序中读取它时,我得到的值是数字。

Excel Date

1/1/2013

我把它理解为

41275.00

如何在我的Java应用程序中将数字转换为日期?


答案 1

下面是一个如何将 Excel 日期转换为 Java 日期的最小工作示例:

        Date javaDate= DateUtil.getJavaDate((double) 41275.00);
        System.out.println(new SimpleDateFormat("MM/dd/yyyy").format(javaDate));

返回

01/01/2013

您还需要导入以下程序包:

java.text.SimpleDateFormat
java.util.Date

答案 2

Apache POI有一些用于该 http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DateUtil.html 实用程序,特别是 http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DateUtil.html#getJavaDate(双)

注意 Excel 将日期存储为自 1900 年以来的天数(加上小数天数)(在某些情况下,它可以是从 1904 年开始的)。请参阅 http://support.microsoft.com/kb/180162


推荐