2017-04-21 95 views
0

我有開始時間和結束時間。從開始時間到結束時間,分步是15分鐘。我想創建一個函數來計算開始時間和結束時間之間的分鐘數。如何計算時間之間的分步數

function calculateNumberMinuteSteps(start_hour, start_minute, end_hour, end_minute, minute_step){ 
    // start time 8.15 
    // end time 18.30 
    // minute_step default 15 
} 

calculateNumberMinuteSteps(8, 15, 18, 30, 15); // Returns number of minute steps between 8.15am and 6.30pm 
+1

你嘗試過什麼?你在哪裏遇到麻煩? –

+0

將開始和結束時間轉換爲數字,將它們相減,然後除以該步驟。 – Barmar

+0

所以你想計算在開始時間和結束時間之間有多少'minute_step'(在這個例子中是'15')? – Fizzix

回答

-1

JS是一個駝峯的語言,順便說一句

function calculateNumberMinuteSteps(startTime, endTime, stepSize){ 
    return (endTime - startTime)/stepSize; 
} 

假設所有單位是毫秒:)

0

function calculateNumberMinuteSteps(start_hour, start_minute, end_hour, end_minute, minute_step) { 
 
    const start_seconds = (start_hour * 60 * 60) + (start_minute * 60); 
 
    const end_seconds = (end_hour * 60 * 60) + (end_minute * 60); 
 
    const step_seconds = (minute_step * 60); 
 
    return (end_seconds - start_seconds)/step_seconds; 
 
} 
 

 
console.log(calculateNumberMinuteSteps(8, 15, 18, 30, 15));

+0

JS是camelCase,爲什麼所有的工作都是爲他們做的? :) –

+2

BC我是一個孤獨的boi – chris

+0

https://www.youtube.com/watch?v=a_426RiwST8 – Fizzix

0

這將是很容易計算。只需創建兩個日期,差異將以秒爲單位。然後獲得商數。

function calculateNumberMinuteSteps(start_hour, start_minute, end_hour, end_minute, minute_step){ 
 
    // start time 8.15 
 
    // end time 18.30 
 
    // minute_step default 15 
 
    minute_step === undefined?15:minute_step; 
 
    var d1 = new Date("2000-01-01 " + start_hour + ":" + start_minute + ":00"), 
 
     d2 = new Date("2000-01-01 " + end_hour + ":" + end_minute + ":00"), 
 
     seconds = (d2- d1)/1000, 
 
     step = Math.floor(seconds/(60*minute_step)); 
 
     return step; 
 
} 
 

 
calculateNumberMinuteSteps(8, 15, 18, 30, 15); // Returns number of minute steps between 8.15am and 6.30pm 
 

 
console.log(calculateNumberMinuteSteps(8, 15, 18, 30, 15))

1

如果回到這個你會得到你想要的東西;

return((end_hour-start_hour)*60 + (end_minute-start_minute))/minute_step; 
0

下面會做的正是你所需要的

function calculateNumberMinuteSteps(start_hour, start_minute, end_hour, end_minute, minute_step){ 
    var startTime = new Date(0, 0, 0, start_hour, start_minute) 
    var endTime = new Date(0, 0, 0, end_hour, end_minute); 
    var difference = endTime.getTime() - startTime.getTime(); 
    return steps difference/(minute_step * 60000); 
} 

var steps = calculateNumberMinuteSteps(8, 15, 18, 30, 15); 

Here is a working example

0

(end_hour + end_minute/60) - (start_hour + start_minute/60)等於總小時數爲十進制數,再乘以60/minute_step收益佔總課時的15分鐘分的產品週期。

function calculateNumberMinuteSteps(sh = start_hour, sm = start_minute, eh = end_hour, em = end_minute, ms = minute_step, H = 60) { 
 
    // start time 8.15 
 
    // end time 18.30 
 
    // minute_step default 15 
 
    return ((eh + em/H) - (sh + sm/H)) * H/ms 
 
} 
 

 
var quarters = calculateNumberMinuteSteps(8, 15, 18, 30, 15); 
 

 
console.log(quarters);

0

它非常簡單,請參閱以下內容:

function calculateNumberMinuteSteps(start_hour, start_minute, end_hour, end_minute, minute_step){ 
    var startNumber = start_hour * 60 + start_minute; 
    var endNumber = end_hour * 60 + end_minute; 
    var totalSteps = (endNumber - startNumber)/minute_step; 
    console.log(totalSteps); 
} 

calculateNumberMinuteSteps(8, 15, 18, 30, 15); 
相關問題