javascript在循环中添加分钟数

javascript在循环中添加分钟数,javascript,Javascript,我想不出这一点,从9点到10点,一切都是正确的,但后来一切都乱了套。10:00后跳到11:15,然后跳到12:30 我只是在一个日期/时间上加上分钟,以15分钟的间隔递增一个数组,是不是我最多只能加60分钟 function pad(val,max) { var str = val.toString(); return str.length < max ? pad("0" + str, max) : str; } function cboHrs(){

我想不出这一点,从9点到10点,一切都是正确的,但后来一切都乱了套。10:00后跳到11:15,然后跳到12:30

我只是在一个日期/时间上加上分钟,以15分钟的间隔递增一个数组,是不是我最多只能加60分钟

function pad(val,max) { 
        var str = val.toString(); 
        return str.length < max ? pad("0" + str, max) : str;
}

function cboHrs(){
    var now = new Date(); 
    now.setHours(9);
    var hrs = [];
    for (var i=1;i<36;i++){
        var hr = {}; 
        now.setMinutes(i*15);
        hr.txt = pad(now.getHours(),2) +':'+pad(now.getMinutes(),2);
        hr.val = hr.txt; 
        hrs.push(hr);
        }
    return hrs;
}
console.log(cboHrs());
功能板(val,max){
var str=val.toString();
返回str.length对于(var i=1;i而言,问题在于
now.setMinutes(i*15);
代码行。在第五次迭代后,您将分钟设置为
75
(即
5*15=75
)这是一个
1小时15分钟
,这就是为什么
10:00
之后的下一个值变成
11:15
问题在于
now.setMinutes(i*15);
代码行。在第五次迭代后,您将分钟设置为
75
(即
5*15=75
)这是一个
1小时15分钟
,这就是为什么
10:00
之后的下一个值变成
11:15

Anthony在我之前解决了实际问题

第五次迭代后,您将分钟数设置为75(即, 5*15=75)这是一个1小时15分钟,这就是为什么下一个 10:00后的值变为11:15 -安东尼·福洛尼

此代码应能正确设置时间

function cboHrs(){
    var now = new Date(); 
    var hrs = [];
    for (var i=1;i<36;i++){
        var hr = {};
        // add another hour every 4th iteration
        now.setHours(9 + parseInt(i / 4));
        // add 15 minutes every iteration, starting back at 0 on the 4th
        now.setMinutes((i % 4) * 15);
        hr.txt = pad(now.getHours(),2) +':'+pad(now.getMinutes(),2);
        hr.val = hr.txt; 
        hrs.push(hr);
        }
    return hrs;
}
函数cboHrs(){
var now=新日期();
var-hrs=[];

对于(var i=1;iAnthony在我之前解决了实际问题

第五次迭代后,您将分钟数设置为75(即, 5*15=75)这是一个1小时15分钟,这就是为什么下一个 10:00后的值变为11:15 -安东尼·福洛尼

此代码应能正确设置时间

function cboHrs(){
    var now = new Date(); 
    var hrs = [];
    for (var i=1;i<36;i++){
        var hr = {};
        // add another hour every 4th iteration
        now.setHours(9 + parseInt(i / 4));
        // add 15 minutes every iteration, starting back at 0 on the 4th
        now.setMinutes((i % 4) * 15);
        hr.txt = pad(now.getHours(),2) +':'+pad(now.getMinutes(),2);
        hr.val = hr.txt; 
        hrs.push(hr);
        }
    return hrs;
}
函数cboHrs(){
var now=新日期();
var-hrs=[];

对于(var i=1;我能发布
pad
函数吗?你能发布
pad
函数吗?没问题。事实上,我本来会预期你预期的相同行为,结果会遇到相同的问题,所以我很高兴这个问题让我思考这个问题,可能会节省我,希望其他人,一段时间。没问题。事实上,我本以为会有你所期待的同样的行为,结果也会遇到同样的问题,所以我很高兴这个问题让我思考了一下,可能会为我,也希望其他人节省一些时间。