我有一个表单和一个按钮,可以在时间上加上几分钟(hh:MM),但时间是一个跨度标签。
在 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;
},
最佳答案
我认为这是由于构造函数的输入而发生的!如果需要时间,您应该以毫秒为单位输入数字。数据对象具有以下构造函数:
- 新日期();
- 新日期(值);
- 新日期(日期字符串);
- new Date(年,月[,日期[,小时[,分钟[,秒[,毫秒]]]]]);
您可以看看Developer.mozilla然后你可以查看有关格式的更好解释。
也许 Firefox 正在转变为在该部分代码中包含某些内容。我找到了关于数据输入格式的其他解释,你也可以看看:Convert String to Date
关于javascript - 将字符串转换为时间并添加一些分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43759657/