|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.poi.ss.usermodel.DateUtil
public class DateUtil
Contains methods for dealing with Excel dates.
Constructor Summary | |
---|---|
protected |
DateUtil()
|
Method Summary | |
---|---|
protected static int |
absoluteDay(java.util.Calendar cal,
boolean use1904windowing)
Given a Calendar, return the number of days since 1900/12/31. |
static double |
convertTime(java.lang.String timeStr)
Converts a string of format "HH:MM" or "HH:MM:SS" to its (Excel) numeric equivalent |
static double |
getExcelDate(java.util.Calendar date,
boolean use1904windowing)
Given a Date in the form of a Calendar, converts it into a double representing its internal Excel representation, which is the number of days since 1/1/1900. |
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 double |
getExcelDate(java.util.Date date,
boolean use1904windowing)
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 an Excel date with using 1900 date windowing, and converts it to a java.util.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 |
isADateFormat(int formatIndex,
java.lang.String formatString)
Given a format ID and its format String, will check to see if the format represents a date format or not. |
static boolean |
isCellDateFormatted(Cell 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 |
isCellInternalDateFormatted(Cell cell)
Check if a cell contains a date, checking only for internal excel date formats. |
static boolean |
isInternalDateFormat(int format)
Given a format ID this will check whether the format represents an internal excel date format or not. |
static boolean |
isValidExcelDate(double value)
Given a double, checks if it is a valid Excel date. |
static java.util.Date |
parseYYYYMMDDDate(java.lang.String dateStr)
Converts a string of format "YYYY/MM/DD" to its (Excel) numeric equivalent |
static void |
setCalendar(java.util.Calendar calendar,
int wholeDays,
int millisecondsInDay,
boolean use1904windowing)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected DateUtil()
Method Detail |
---|
public static double getExcelDate(java.util.Date date)
date
- the Date
public static double getExcelDate(java.util.Date date, boolean use1904windowing)
date
- the Dateuse1904windowing
- Should 1900 or 1904 date windowing be used?
public static double getExcelDate(java.util.Calendar date, boolean use1904windowing)
date
- the Calendar holding the date to convertuse1904windowing
- Should 1900 or 1904 date windowing be used?
public static java.util.Date getJavaDate(double date)
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
date
- The Excel date.
TimeZone
public static java.util.Date getJavaDate(double date, boolean use1904windowing)
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
date
- The Excel date.use1904windowing
- true if date uses 1904 windowing,
or false if using 1900 date windowing.
TimeZone
public static void setCalendar(java.util.Calendar calendar, int wholeDays, int millisecondsInDay, boolean use1904windowing)
public static boolean isADateFormat(int formatIndex, java.lang.String formatString)
formatIndex
- The index of the format, eg from ExtendedFormatRecord.getFormatIndexformatString
- The format string, eg from FormatRecord.getFormatStringisInternalDateFormat(int)
public static boolean isInternalDateFormat(int format)
isADateFormat(int, java.lang.String)
public static boolean isCellDateFormatted(Cell cell)
isADateFormat(int, String)
,
isInternalDateFormat(int)
public static boolean isCellInternalDateFormatted(Cell cell)
isADateFormat(int,String)
,
isInternalDateFormat(int)
public static boolean isValidExcelDate(double value)
value
- the double value
protected static int absoluteDay(java.util.Calendar cal, boolean use1904windowing)
cal
- the Calendar
java.lang.IllegalArgumentException
- if date is invalidpublic static double convertTime(java.lang.String timeStr)
public static java.util.Date parseYYYYMMDDDate(java.lang.String dateStr)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |