簡體   English   中英

計算頁面加載到下一小時的第一分鍾之間的秒數

[英]calculate how many seconds between page load and first minute of next hour

我需要使用javascript計算兩次之間的時差:現在是加載頁面的時刻,因此我使用:

now = new(Date).getMinutes()*60;

然后是下一個小時的第一分鍾。 例如,現在我住的地方是20:20:然后是21:01。 那么我的邏輯將是:

if(then-now>=120){
    diff=120;
}else{
    diff=then-now;
}

當我計算差異時,我需要包括下一小時的所有第一分鍾。 那么幾秒鍾內最聰明的計算方法是什么?

then = Date(year, month, day, new(Date).getHours()+1, 1, 0, 0); 它為您提供了日期對象,所以就去做-現在變成幾秒鍾(getSeconds)。 您應該在+1中觀看25個小時,以便實際使用: then.setDate(someDate.getHour() + 1);

而且看起來您的邏輯可能只是min(diff, 120) 請注意,您可能想更清楚地知道單元120所在的單元。甚至可以使變量“ twoMinutes = 120”或“ twoHours = 120”。

請參閱: 如何將天數添加到今天的日期?

===更新:也許這段代碼更有意義

then = Date(year, month, day, new(Date).getHours(), 0, 0, 0);
then.setDate(then.getHour() + 1);
then.setDate(then.getMinute() +1);
YourLogic = min(then-now, 120)

這看起來不太漂亮,但是計算下一個小時的01分鍾的一種非常簡單的方法如下:

new Date(new Date(new Date(new Date().getTime() + 3600000).setMinutes(1)).setSeconds(0))

這樣,您就不必處理諸如檢查23點和確定日期之類的問題。

現在可以使用此想法以相同的方式進行計算,並檢查到上述時間為止還剩多少秒:

var now = new Date().getTime();
var remainingSeconds = (new Date(new Date(new Date(now + 3600000).setMinutes(1)).setSeconds(0)) - now) / 1000;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM