2 回答

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

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果您想要一個(gè)從特定時(shí)間開始更新的時(shí)鐘,請(qǐng)嘗試類似的操作
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);
}
添加回答
舉報(bào)