首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript在循环中添加分钟

javascript在循环中添加分钟
EN

Stack Overflow用户
提问于 2013-03-20 20:09:59
回答 2查看 1.2K关注 0票数 0

我搞不清楚,从9点到10点,一切都是对的,但之后一切都乱了套。10:00以后跳到11:15,然后跳到12:30

我只是向日期/时间添加分钟,以便以15分钟的间隔递增数组,这是否意味着我最多只能添加60分钟??

代码语言:javascript
运行
复制
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());
EN

Stack Overflow用户

回答已采纳

发布于 2013-03-20 20:19:22

安东尼在我之前解决了真正的问题。

在第5次迭代后,您将分钟设置为75 (即,5* 15 = 75),这是1小时15分钟,这就是为什么10:00之后的下一个值变为11:15 - Anthony Forloney

此代码应能正确设置时间。

代码语言:javascript
运行
复制
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;
}
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15523142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档