我陷入了冲突。我有一个24小时时间表,但问题是,11月3日凌晨2点,时间将从凌晨2点改为凌晨1点,这意味着减去一个小时。我怎样才能用Java来处理这件事。我从派对上得到的那首歌说..。
第二场比赛应该是2:05,但是由于时间的变化,现在是1:05。相同的时间导致异常。请帮助我如何处理这个场景。
谢谢
下面是在Apache中使用XSL文档生成PDF计划时所遇到的错误。
Caused by: java.lang.IndexOutOfBoundsException: Index: 450, Size: 421
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at org.apache.fop.layoutmgr.table.ColumnSetup.getXOffset(ColumnSetup.java:224)
at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getXOffsetOfGridUnit(
TableContentLayoutManager.java:603) at
org.apache.fop.layoutmgr.table.TableContentLayoutManager$RowPainter.
addAreasForCell(TableContentLayoutManager.java:981)
at org.apache.fop.layoutmgr.table.TableContentLayoutManager$RowPainter.
addAreasAndFlushRow
(TableContentLayoutManager.java:943)
at org.apache.fop.layoutmgr.table.TableContentLayoutManager$RowPainter.
handleTableContentPosition(TableContentLayoutManager.java:800)
at org.apache.fop.layoutmgr.table.TableContentLayoutManager.iterateAndPaintPositions
(TableContentLayoutManager.java:754)
at org.apache.fop.layoutmgr.table.TableContentLayoutManager.addAreas
(TableContentLayoutManager.java:687)
at org.apache.fop.layoutmgr.table.TableLayoutManager.addAreas
(TableLayoutManager.java:346)
at org.apache.fop.layoutmgr.AreaAdditionUtil.addAreas(AreaAdditionUtil.java:116)
at org.apache.fop.layoutmgr.FlowLayoutManager.addAreas(FlowLayoutManager.java:297)
at org.apache.fop.layoutmgr.PageSequenceLayoutManager$PageBreaker.addAreas
(PageSequenceLayoutManager.java:356)
at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:507)
at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:370)
at org.apache.fop.layoutmgr.PageSequenceLayoutManager$PageBreaker.doPhase3
(PageSequenceLayoutManager.java:369)
at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:345)
at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:263)只有此计划引发错误。所以我猜是因为时间的变化。知道如何容纳/修复这个问题吗?
发布于 2013-10-29 17:31:19
11月3日凌晨2点,时间将从凌晨2点改为凌晨1点,这意味着减去一个小时。我怎么用Java处理这件事
在某些地方,当地时间会改变,而在另一些地方则不会。时间本身不会改变,只是当地对“当前时间”的描述(它本身保持相当恒定,或者在我们生活的这个不精确的旋转岩石球上尽可能地保持不变)。
重点是,你不应该减掉任何东西。因为基础数据中的任何内容实际上都没有改变,所以只有该数据的本地视图。
如何存储日期/时间值?如果您没有对基础数据使用UTC时间,那么您应该使用。因为你目前面临的原因,以及其他非常相似的原因,这会造成其他非常相似的问题。重点是将存储的实际数据与任何特定用户对该数据的视图分开。
使用以通用格式存储的底层日期/时间数据,您可以在需要时动态转换它,通常用于显示目的。(有时也用于局部计算。)像Joda时间这样的库对此非常有用,已经投入了大量的时间和精力来理解和解决您当前面临的问题。
https://stackoverflow.com/questions/19664964
复制相似问题