我正在尝试使用按钮创建一个开关,当我单击它时,它将获得当前时间戳减去10分钟,然后将从所述时间戳开始查询数据库中的所有条目,我有一个工作的javascript函数但问题是当时间少于10分钟(例如21:06:35)时,它显示负值(21:-4:35)而不是(20:56:35)。这是我目前的代码:
var nowna = new Date();
var month = nowna.getMonth() + 1;
var day = nowna.getDate();
var hour = nowna.getHours();
var minute = nowna.getMinutes() - 10;
var second = nowna.getSeconds();
var nowna_init = nowna.getFullYear() + '-' +
((''+month).length<2 ? '0' : '') + month + '-' +
((''+day).length<2 ? '0' : '') + day + ' ' +
((''+hour).length<2 ? '0' :'') + hour + ':' +
((''+minute).length<2 ? '0' :'') + minute + ':' +
((''+second).length<2 ? '0' :'') + second;
var start15 = nowna_init;
console.log(start15);
这是我在控制台日志中获得的内容
2017-05-20 21:-4:35
2017-05-20 21:-4:44
2017-05-20 21:-1:33
2017-05-20 21:26:05
2017-05-20 21:26:08
答案 0 :(得分:0)
使用日期对象的函数setMinutes
。
像这样使用:
var d = new Date("2017-05-20T13:03:35.310Z");
d.setMinutes(d.getMinutes() - 10);
console.log(d.getMinutes());
小时也会更新。
var d = new Date("2017-05-20T13:03:35.310Z");
console.log(d.getMinutes()); // 3
console.log(d.getHours()); // 13
d.setMinutes(d.getMinutes() - 10);
console.log(d.getMinutes()); // 53
console.log(d.getHours()); // 12
&#13;
注意:小时结果取决于您当地的时区。