2 回答

TA貢獻1802條經驗 獲得超4個贊
靜態而非動態
誰能告訴我為什么不更新?
ALocalTime
代表一天中的特定時間。對象是不可變的,不變的,并且不能更新。
調用LocalTime.now()
捕獲執行時刻的時間。該值以后不會改變。要稍后獲取當天的當前時間,請LocalTime.now()
再次調用一個全新的對象。
要顯示對象的值LocalTime
,請調用.toString
以標準 ISO 8701 值生成文本。對于其他格式,請使用DateTimeFormatter
. 搜索以了解更多信息,因為這已經處理過很多次了。
經過時間
如何從用戶輸入中獲取 LocalTime 對象的運行時間?
也許您的意思是您想要確定自先前時刻以來已經過去的時間量,例如用戶上次執行特定操作或手勢的時間。
所以我可以看到時間的流逝
對于經過的時間,您需要跟蹤某個時刻而不是一天中的某個時間。該類Instant
代表 UTC 中的一個時刻。
Instant instant = Instant.now() ; // Capture the current moment in UTC.
使用 計算以小時-分鐘-秒為單位的經過時間Duration
。
Duration d = Duration.between( instant , Instant.now() ) ;

TA貢獻1772條經驗 獲得超8個贊
如果您想要一個從特定時間開始更新的時鐘,請嘗試類似的操作
LocalTime d = LocalTime.of(12, 15, 33);
LocalTime start = LocalTime.now();
for (int x = 0; x < 20; x++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
LocalTime now = LocalTime.now();
Duration dur = Duration.between(start, now);
start = now;
d = d.plusSeconds(dur.getSeconds());
System.out.println(d);
}
添加回答
舉報