我有一个表单和一个按钮,可以加上一些时间(hh:MM),但是时间是一个span标签。

在Firefox上运行良好,但是当我在Chrome上测试时,Date()无法正常工作。发生了什么?

//Botão adicionar horário agenda.
$('.button').click(function() {
  var $duration_schedule = $('#duration');
  var duration = $duration_schedule.val(); // 30
  var hour = $('.time_schedule_form').text(); // 10:00
  var new_time = self.Plus_minutes(hour, duration);
  alert(new_time); // 10:30
});


Plus_minutes: function(hour, duration) {
    var time, new_hour, hours = '';
    time     = new Date("T"+hour); // Erro at Chrome
    time.setTime(time.getTime() + duration*60000);
    hours     = time.getHours().toString();
    minutes   = time.getMinutes().toString();
    if (minutes.length > 1) {
        new_hour = hours + ':' + minutes;
    } else {
        new_hour = hours + ':0' + minutes;
    }

    return new_hour;
},

最佳答案

我想这是由于构造函数的输入而发生的!如果有时间,您应该以毫秒为单位输入数字。数据对象具有以下构造函数:


新的Date();
新的Date(值);
新的Date(dateString);
新的日期(年,月[,日期[,小时[,分钟[,秒[,毫秒]]]]]));


您可以查看Developer.mozilla,然后可以查看有关格式的更好说明。

也许Firefox正在转换为在该部分代码中包含某些内容。我发现了有关数据输入格式的其他解释,您也可以查看以下内容:Convert String to Date

10-06 07:47
查看更多