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

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

檢查未來時間(紀元毫秒)是否在當前時間(紀元毫秒)的 3 小時內

檢查未來時間(紀元毫秒)是否在當前時間(紀元毫秒)的 3 小時內

搖曳的薔薇 2023-05-10 13:25:13
我正在嘗試比較兩次以查看未來時間是否在當前時間的接下來 3 小時內。下面是我嘗試過的一些代碼,我嘗試將未來時間減去 10,800,000,如果當前時間大于或等于差值,它應該返回 true。我不知道使用 10,800,000 是否正確,因為有時它現在應該返回 true/false。  public static Boolean checkIfWithin3Hours(long startTime, long currentTime){           if(currentTime >= startTime - (10800000)) {            return true;        }        return false;  }如果以毫秒為單位的紀元時間在以毫秒為單位的未來時間的 3 小時內,我希望它返回 true。
查看完整描述

2 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

您的問題令人困惑,不清楚您的業務邏輯的確切細節。但這應該讓你指向正確的方向。

Instant
.ofEpochSecond(?…?)
.minus(
????Duration
????.ofHours(?3?)?
)
.isBefore(?
????Instant.now()
)

java.time

我們有這方面的課程。不要推出自己的日期時間解決方案。

Instant

獲取 UTC 的當前時刻。

Instant?now?=?Instant.now()?;

Duration

將您的等待時間指定為Duration,一個未附加到時間線的時間跨度。

Duration?d?=?Duration.ofHours(?3?)?;

指定您的開始時間。你沒有解釋,但顯然開始時刻是自 UTC 1970 年第一時刻 1970-01-01T00:00Z 的紀元參考以來的整秒數。將該數字粘貼為Instant.

Instant?start?=?Instant.ofEpochSecond(?10_800_000L?)?;

添加我們的持續時間以確定我們的目標時刻。

Instant?limit?=?start.plus(?d?)?;

與當前時刻進行比較。

Boolean?pastLimit?=?now.isAfter(?limit?)?;

提示:不要將時間作為單純的整數來跟蹤。這樣做會造成混淆并容易出錯,使調試變得困難。使用適當的數據類型。在您的代碼周圍傳遞Instant對象,而不是秒數。

Interval

或者,使用額外的庫變得更有趣。

ThreeTen-Extra庫添加到您的項目中。我們希望使用表示Interval附加到時間軸的時間跨度的類作為一對Instant對象。

將持續時間添加到開始then時刻。

Interval?interval?=?Interval.of(?then?,?then.plus(?d?)?;

測試當前時刻是否在該時間間隔內。

Boolean?nowInInterval?=?interval.contains(?now?)?;


查看完整回答
反對 回復 2023-05-10
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

1000 milliseconds/second

60 seconds/minute

60 minutes/hour

3 hours

將它們相乘,得到 10,800,000 毫秒。第一步,你的號碼是正確的。


下一步,計算數字是否在范圍內:


如果 timeTesting 在距現在 3 小時的范圍內,則 timeNow <= timeTesting <= timeNow + 10,800,000 毫秒。


第二步,您的范圍測試不正確。


用以下方法修復它:


public static Boolean checkIfWithin3Hours(long startTime, long currentTime){

    return startTime <= currentTime && currentTime <= startTime + 10800000;


查看完整回答
反對 回復 2023-05-10
  • 2 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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