## org.apache.poi.hssf.usermodel
Class HSSFDateUtil

    java.lang.Object
      org.apache.poi.hssf.usermodel.HSSFDateUtil

public class HSSFDateUtil
extends java.lang.Object

Contains methods for dealing with Excel dates.

Author:
  Michael Harhen, Glen Stampoultzis (glens at apache.org), Dan Sherman (dsherman at isisph.com), Hack Kampbjorn (hak at 2mba.dk)

Method Summary
`static double` `getExcelDate(java.util.Date date)` Given a Date, converts it into a double representing its internal Excel representation, which is the number of days since 1/1/1900.
`static java.util.Date` `getJavaDate(double date)` Given a excel date, converts it into a Date.
`static java.util.Date` `getJavaDate(double date, boolean use1904windowing)` Given an Excel date with either 1900 or 1904 date windowing, converts it to a java.util.Date.
`static boolean` `isCellDateFormatted(HSSFCell cell)` Check if a cell contains a date Since dates are stored internally in Excel as double values we infer it is a date if it is formatted as such.
`static boolean` `isInternalDateFormat(int format)` given a format ID this will check whether the format represents an internal date format or not.
`static boolean` `isValidExcelDate(double value)` Given a double, checks if it is a valid Excel date.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### getExcelDate

    public static double getExcelDate(java.util.Date date)

  Given a Date, converts it into a double representing its internal Excel representation, which is the number of days since 1/1/1900. Fractional days represent hours, minutes, and seconds.

  Parameters:
    `date` - the Date
  Returns:
    Excel representation of Date (-1 if error - test for error by checking for less than 0.1)

### getJavaDate

    public static java.util.Date getJavaDate(double date)

  Given a excel date, converts it into a Date. Assumes 1900 date windowing.

  Parameters:
    `date` - the Excel Date
  Returns:
    Java representation of a date (null if error)
  See Also:
    `getJavaDate(double,boolean)`

### getJavaDate

    public static java.util.Date getJavaDate(double date,
                                             boolean use1904windowing)

  Given an Excel date with either 1900 or 1904 date windowing, converts it to a java.util.Date. NOTE: If the default `TimeZone` in Java uses Daylight Saving Time then the conversion back to an Excel date may not give the same value, that is the comparison `excelDate == getExcelDate(getJavaDate(excelDate,false))` is not always true. For example if default timezone is `Europe/Copenhagen`, on 2004-03-28 the minute after 01:59 CET is 03:00 CEST, if the excel date represents a time between 02:00 and 03:00 then it is converted to past 03:00 summer time

  Parameters:
    `date` - The Excel date.
    `use1904windowing` - true if date uses 1904 windowing, or false if using 1900 date windowing.
  Returns:
    Java representation of the date, or null if date is not a valid Excel date
  See Also:
    `TimeZone`

### isInternalDateFormat

    public static boolean isInternalDateFormat(int format)

  given a format ID this will check whether the format represents an internal date format or not.

### isCellDateFormatted

    public static boolean isCellDateFormatted(HSSFCell cell)

  Check if a cell contains a date Since dates are stored internally in Excel as double values we infer it is a date if it is formatted as such.

  See Also:
    `isInternalDateFormat(int)`

### isValidExcelDate

    public static boolean isValidExcelDate(double value)

  Given a double, checks if it is a valid Excel date.

  Parameters:
    `value` - the double value
  Returns:
    true if valid

Copyright © 2003 Apache Software Foundation.