[
https://issues.apache.org/jira/browse/ODFTOOLKIT-296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13154972#comment-13154972
]
Devin Han commented on ODFTOOLKIT-296:
--------------------------------------
Hi Sebastian,
There are two ways to resolve this issue.
1. if you only need the string of the date value, you can use
ODFTable.OdfTableCell.getDisplayText() to replace getDateValue(). It's easy and
no need patch.
2. if you prefer to get the Calendar object, we need a patch to realize it.
Now, in getDateValue(), ODFDOM uses DEFAULT_DATE_FORMAT = "yyyy-MM-dd" to
parse date string. That's the reason that this issue. On the other hand, it's
impossible to set a DEFAULT_DATE_FORMAT, which is suitable for all of the
condition. The best way is that give this right back to user. So I suggest to
add the following two mehods in Cell class.
/**
* Get the cell date value as Calendar.
* <p>
* Throw IllegalArgumentException if the cell type is not "date".
* @param format the <code>format</code> must follow the encoding
* rule of {@link java.text.SimpleDateFormat
<code>java.text.SimpleDateFormat</code>}
*
* @return the Calendar value of cell
* @throws IllegalArgumentException an IllegalArgumentException will
be thrown, if the cell type is not "date".
*/
public Calendar getDateValue(String format);
/**
* Set the cell value as a date, and set the value type to be "date".
*
* @param date the value of {@link java.util.Calendar
java.util.Calendar} type.
* @param format the <code>format</code> must follow the encoding
* rule of {@link java.text.SimpleDateFormat
<code>java.text.SimpleDateFormat</code>}
*
*/
public void setDateValue(Calendar date, String format);
/**
* Get the cell value as {@link java.util.Calendar java.util.Calendar}.
* <p>
* Throw exception if the cell type is not "time".
* @param format the <code>format</code> must follow the encoding
* rule of {@link java.text.SimpleDateFormat
<code>java.text.SimpleDateFormat</code>}
*
* @return the Calendar value of cell
* @throws IllegalArgumentException an IllegalArgumentException will
be thrown if the cell type is not time.
*/
public Calendar getTimeValue(String format) ;
/**
* Set the cell value as a time and set the value type to be "time" too.
*
* @param time the value of {@link java.util.Calendar
java.util.Calendar} type.
* @param format the <code>format</code> must follow the encoding
* rule of {@link java.text.SimpleDateFormat
<code>java.text.SimpleDateFormat</code>}
*
* @throws IllegalArgumentException If input time is null, an
IllegalArgumentException exception will be thrown.
*/
public void setTimeValue(Calendar time, String format);
The convenient API of ODFDOM is not supported anymore, which will be replaced
by Simple API in the future.
I suggest you use Simple API replace ODFDOM convenient API. It has more
powerful functions, and you will be interested it. Please reference the
homepage: http://incubator.apache.org/odftoolkit/simple/index.html
My patch is based on Simple API. I will send a private jar based on ODFDOM to
you.
Devin
> ODFTable.OdfTableCell.getDateValue() ignores times in datefields
> -----------------------------------------------------------------
>
> Key: ODFTOOLKIT-296
> URL: https://issues.apache.org/jira/browse/ODFTOOLKIT-296
> Project: ODF Toolkit
> Issue Type: Improvement
> Reporter: Devin Han
> Assignee: Devin Han
> Labels: ODFDOM
>
> A user report this issue in ODF Toolkit Union user mail list, but we have not
> maintained that list, so forward it here.
> The following content is copied from:
> http://odftoolkit.org/bugzilla/show_bug.cgi?id=361
> ---------------------------------------------
> For table-cells, which are formated as "DATE" with a format including the
> day-time (e.g. MM/DD/YYYY HH:MM:SS), the time value is ignored when importing
> the this cell with
> ODFtable.ODFcell.getDateValue()
> => 12/31/2011 12:13:14 is imported into the calendar-object as
> => 12/31/2011 00:00:00
> Sebastian
> ---------------------------------------------------
> Devin
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira