Javascript以vali增量循环日期/时间

Javascript以vali增量循环日期/时间,javascript,date,Javascript,Date,我试图以定义的增量构建一个从开始时间到一天结束的表 例如:如果用户从上午8:10开始选择15分钟增量,则时间会变长 8:10,8:25,8:40,8:55,9:10... 我当前的代码不正确,我们已更改到下一个小时,然后再次开始偏移,例如我得到: 815830845905935102512251325 这是一个JSFiddle 这是我到目前为止的代码 // from select: let $first_hour = 8; let $first_minute = 10; let day_co

我试图以定义的增量构建一个从开始时间到一天结束的表

例如:如果用户从上午8:10开始选择15分钟增量,则时间会变长 8:10,8:25,8:40,8:55,9:10...

我当前的代码不正确,我们已更改到下一个小时,然后再次开始偏移,例如我得到: 815830845905935102512251325

这是一个JSFiddle

这是我到目前为止的代码

// from select:
let $first_hour = 8;
let $first_minute = 10;
let day_count = 1;  // don't worry about this;

let duration = 15; // increment

        var offset = 0;
        var current_time = parseInt($first_hour + $first_minute);
        for (var i = 0; i < 120; i++) {
            if (current_time < 2400) {
                var time_string = ('' + current_time);
                var time_minutes = parseInt(time_string.substring(time_string.length - 2));
                if (time_minutes < 60) {
                    // offset = 0;
                    times += '<tr>';
                    for (var d = 1; d <= day_count; d++) {
                        times += '<td>d: ' + d + ' : time: ' + current_time + ' ->' + time_string.substring(time_string.length - 2) + ' offset: ' + offset +'</td>';
                    }
                    times += '</tr>';
                } else {
                    offset = (time_minutes - 60);
                    // times += '<tr>';
                    // times += '<td>o:' + offset + ' tm: ' + time_minutes + '</td>';
                    // time_minutes = offset;
                    // times += '</td>';
                }
            }
            console.log('current_time: ' + current_time);
            current_time = parseInt(current_time + duration + offset);
//从选择:
让$first_hour=8;
让$first_minute=10;
让每一天计数=1;//别担心这个;
让持续时间=15;//增量
var偏移=0;
var current_time=parseInt($first_hour+$first_minute);
对于(变量i=0;i<120;i++){
如果(当前_时间<2400){
变量时间字符串=(“”+当前时间);
var time_minutes=parseInt(time_string.substring(time_string.length-2));
如果(时间\分钟<60){
//偏移量=0;
次数+='';

对于(var d=1;d,在此行中,您的else偏移必须重置为0

for (var d = 1; d <= SP.new_conference.day_count; d++) {
                        times += '<td>d: ' + d + ' : time: ' + current_time + ' ->' + time_minutes + ' offset: ' + offset +'</td>';
                    }
                //  times += '</tr>';
                } else {
                    offset = 0;

我已在中修复了此问题,如果您想查看

问题出在哪里?抱歉-如果您单击小提琴链接,时间将变为:81583084590593511025112511251325…不是重置重叠小时的时间
current_time = parseInt(current_time + SP.new_conference.duration );
      offset+=SP.new_conference.duration