亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 java 控制臺上的 LocalTime.of() 方法更新 Localtime 對象

從 java 控制臺上的 LocalTime.of() 方法更新 Localtime 對象

偶然的你 2024-01-17 20:46:18
我在這里遇到了一個小問題,如果有人可以幫助我,我將非常感激!當我嘗試更新LocalTime從該LocalTime.now()方法創建的對象以便我可以看到時間的流逝時,它的工作原理是代碼:     public static void main(String[] args) {        LocalTime d = LocalTime.now();        String h = String.valueOf(d.getHour());        String m = String.valueOf(d.getMinute());        String s = String.valueOf(d.getSecond());        System.out.print("\r"+h + ":" + m + ":" + s);        //Update :        Thread.sleep(1000);     }輸出 :1:53:2 (time is passing)但是當我運行這個時:     public static void main(String[] args) {        LocalTime d = LocalTime.of(12, 15, 33);        String h = String.valueOf(d.getHour());        String m = String.valueOf(d.getMinute());        String s = String.valueOf(d.getSecond());        System.out.print("\r"+h + ":" + m + ":" + s);        //Update :        Thread.sleep(1000);     }輸出 :12:15:33 (time is not passing)誰能告訴我為什么不更新?如何LocalTime從用戶輸入中獲取對象的運行時間?非常感謝您的寶貴時間!
查看完整描述

2 回答

?
慕虎7371278

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() ) ;


查看完整回答
反對 回復 2024-01-17
?
料青山看我應如是

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);

}


查看完整回答
反對 回復 2024-01-17
  • 2 回答
  • 0 關注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號