第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

檢查未來時間(紀(jì)元毫秒)是否在當(dāng)前時間(紀(jì)元毫秒)的 3 小時內(nèi)

檢查未來時間(紀(jì)元毫秒)是否在當(dāng)前時間(紀(jì)元毫秒)的 3 小時內(nèi)

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

2 回答

?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗 獲得超4個贊

您的問題令人困惑,不清楚您的業(yè)務(wù)邏輯的確切細(xì)節(jié)。但這應(yīng)該讓你指向正確的方向。

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

java.time

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

Instant

獲取 UTC 的當(dāng)前時刻。

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

Duration

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

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

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

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

添加我們的持續(xù)時間以確定我們的目標(biāo)時刻。

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

與當(dāng)前時刻進(jìn)行比較。

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

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

Interval

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

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

將持續(xù)時間添加到開始then時刻。

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

測試當(dāng)前時刻是否在該時間間隔內(nèi)。

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


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

TA貢獻(xiàn)1871條經(jīng)驗 獲得超13個贊

1000 milliseconds/second

60 seconds/minute

60 minutes/hour

3 hours

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


下一步,計算數(shù)字是否在范圍內(nèi):


如果 timeTesting 在距現(xiàn)在 3 小時的范圍內(nèi),則 timeNow <= timeTesting <= timeNow + 10,800,000 毫秒。


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


用以下方法修復(fù)它:


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

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


查看完整回答
反對 回復(fù) 2023-05-10
  • 2 回答
  • 0 關(guān)注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號