2017-05-03 92 views
0

我有一个表格和一个按钮,加上一些分钟时间(HH:MM),但时间跨度标签。字符串转换为时间,并添加一些分钟

在Firefox的效果很好,但是当我在Chrome的测试不工作的日期()。发生了什么?

//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; 
}, 

回答

1

我想这是因为构造函数的输入而发生的!在时间的情况下,你应该把数字以毫秒为单位。数据对象具有下列构造函数:

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

你可以看看Developer.mozilla然后你可以检查有关格式的更好的解释。

也许火狐被转换为包括代码的那部分东西。我发现了数据输入格式,其他的解释,你可以看一看太:Convert String to Date

0

UTC的正确格式将类似于2013-02-27T17:00:00Z(Z代表祖鲁时间)。如果不存在,则附加Z以获取正确的UTC日期时间字符串。

0

你可以使用setMinutes使用getMinutes更新实现这一目标。

newdate.setMinutes(newdate.getMinutes() + 10); 
+0

当我将字符串转换为日期我的真正的问题occours。时间=新日期(“T”+小时);这在Chrome中不起作用。 –

相关问题