Update of /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/gui/action
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv27238/fw/src/net/sourceforge/squirrel_sql/fw/gui/action
Modified Files:
TableExportCsvCommand.java
Log Message:
2879711: Fix for Excel date export concerning dates earlier than 1900-03-01.
Thanks to mironsadziak for the patch (Patch ID 2905218)
Index: TableExportCsvCommand.java
===================================================================
RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/gui/action/TableExportCsvCommand.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** TableExportCsvCommand.java 9 Jul 2008 11:47:54 -0000 1.15
--- TableExportCsvCommand.java 1 Dec 2009 22:59:31 -0000 1.16
***************
*** 343,347 ****
int offset = (cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET));
! java.util.Date xlsUTCDate = new java.util.Date(time + offset);
ret = new jxl.write.DateTime(colIdx, curRow, xlsUTCDate, jxl.write.DateTime.GMT);
break;
--- 343,359 ----
int offset = (cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET));
!
! long utcTime = time+offset;
! /* Work around Excel's problem with dates before 1900-03-01
! * http://support.microsoft.com/kb/214058
! * -2203891200000l is 1900-03-01 UTC time
! * 8640000 means 24 hours
! */
! if (utcTime < -2203891200000l)
! {
! utcTime += 86400000;
! }
!
! java.util.Date xlsUTCDate = new java.util.Date(utcTime);
ret = new jxl.write.DateTime(colIdx, curRow, xlsUTCDate, jxl.write.DateTime.GMT);
break;
|