【发布时间】:2020-04-09 22:58:59
【问题描述】:
在java.time.LocalTime 中,有addSeconds() 方法。
可以连续加1秒吗?
LocalTime localTime = Time.valueOf("00:00:00").toLocalTime();
localTime = localTime.plusSeconds(1L);
String output = localTime.toString();
whiteTime = Time.valueOf(output);
我从 Intellij 添加了这部分错误消息。
00:00:58
respond to action of white: Black Time
00:00:59
respond to action of white: Black Time
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException
at java.sql/java.sql.Time.valueOf(Time.java:109)
at ui.TimerPanel.blackTimerTikTok(TimerPanel.java:71)
at util.GameModel$2.actionPerformed(GameModel.java:87)
at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:317)
at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:249)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
它看起来在到达00:00:59 时出错。如何让00:01:00连续数秒?
【问题讨论】:
-
请澄清您所说的“看起来它在到达 00:00:59 时出错”是什么意思。会发生什么,您有什么期待?
-
用
String output = localTime.format(DateTimeFormatter.ofPattern("HH:mm:ss"));代替String output = localTime.toString();怎么样? -
@KarolDowbecki 我觉得是
java.sql.Time因为问题的标题...... -
@Jon Skeet:当我运行相关程序并到达 00:00:59 时,它会在 intellij IDEA、java 中显示一长串错误消息。我没有仔细检查错误信息,因为我无法理解。我只是明白它不起作用。如果需要,我会添加错误信息。
-
是的,您应该始终将错误添加到问题中。 “它不起作用”几乎不如“由于这些错误而失败 [..],我不明白。”