我尝试用jxl创建一个Excel工作表。
我的领域之一是约会,我住在GMT + 1时区
我使用类似的方法来做到这一点:
WritableCellFormat EXCEL_DATE_FORMATTER = new WritableCellFormat(new DateFormat("dd/MM/yyyy hh:mm"));
...
WritableCell cell = null;
cell = new jxl.write.DateTime(col, row, date);
cell.setCellFormat(EXCEL_DATE_FORMATTER);
日期以正确的格式书写,但具有-1小时的值(格林尼治标准时间)
我试图找到一个解决方案,我发现了这个
http://www.andykhan.com/jexcelapi/tutorial.html#dates
但是我不能将SimpleDateFormat传递给DateCell。
有办法吗?
现在,我使用java.util.Calendar添加一个小时,但这是一个可怕的解决方案。
谢谢帮忙!
最佳答案
jxl.write.DateTime类具有几个构造函数(参见API)。
默认情况下,它将使用您的系统TimeZone修改日期。您可以向构造函数传递jxl.write.DateTime.GMTDate对象以禁用此功能。这是您应该使用的代码:
WritableCell cell = null;
cell = new jxl.write.DateTime(col, row, date, DateTime.GMT);