在Excel中将date的数字表示转换为java中的date

我在Excel中有date列,但是当我在我的Java应用程序中阅读时,我得到的值是数字

Exceldate

1/1/2013 

我越来越像

 41275.00 

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

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将date存储为自1900年以来的天数(加上分数天)(在某些情况下,可以从1904年开始)。 请参阅http://support.microsoft.com/kb/180162

这是一个最小的工作示例,如何将Exceldate转换为Javadate:

  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