在Javascript中添加一分钟到当前时间

时间:2016-07-06 06:15:14

标签: javascript jquery date

我使用Date对象在我的Javascript代码中创建时间,它应该像这样格式化:08:04:21。这就是我尝试这样做的方式:

$('#time').click(function(){
                var currentTime = new Date();
                var Time=currentTime.getHours() + ":"
                + currentTime.getMinutes() + ":"
                + currentTime.setSeconds(currentTime.getSeconds() + 60);
                console.log(Time);
                $(this).val(Time);
            });

但是当控制台字符串中记录Time时,显示为8:1:1467844916075。当我尝试这个时也是如此:

var Time=currentTime.getHours() + ":"
                    + currentTime.setMinutes(currentTime.getMinutes() + 1) + ":"
                    + currentTime.getSeconds();

它带来了类似的结果:8:1467844916075:3。我甚至试过这个答案:javascript add one minute to time object

$('#time').click(function(){
                var currentTime = new Date();
                var Time = currentTime.setTime(currentTime.getTime() + 1000 * 60);
                console.log(Time);
                $(this).val(Time);
            });

但在这种情况下,时间看起来像这样:1467785566719。知道如何获得人类可读的当前时间(不是日期)加一分钟吗?

5 个答案:

答案 0 :(得分:2)

您可以查看:

Date.getTime()返回自1970/01/01以来的毫秒数。 因此,只需抓住它并添加1分钟即可形成新日期的新毫秒计数。

var d = new Date();
var millisecondssince1970 = d.getTime();
var newMillisec = millisecondssince1970 + (1000 * 60);

var newDate = new Date(newMillisec);

console.log(newDate.getHours() + ":"
                    + newDate.getMinutes() + ":"
                    + newDate.getSeconds());

答案 1 :(得分:1)

请试试这个,

var currentTime = new Date();
var Time = currentTime.setTime(currentTime.getTime() + 1000 * 60);
console.log(Time);

var date = new Date(Time);
// Hours part from the timestamp
var hours = date.getHours();
// Minutes part from the timestamp
var minutes = "0" + date.getMinutes();
// Seconds part from the timestamp
var seconds = "0" + date.getSeconds();

// Will display time in 10:30:23 format
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
console.log(formattedTime);

答案 2 :(得分:1)

以下是工作示例https://jsfiddle.net/oa7j3krs/2/

$('#time').click(function(){
    var d = new Date($.now()+60*1000); // current time + 60s
    $(this).val(d.getHours()+':'+d.getMinutes()+':'+d.getSeconds());
});

答案 3 :(得分:0)

JavaScript setSeconds()返回A Number, representing the number of milliseconds between the date object and midnight January 1 1970

请参阅this

所以基本上你打印的纪元时间加上60秒。

答案 4 :(得分:0)

无论如何,我找到了一种方法来做到这一点。也许它不是最好的,但它会完成这项工作。

$('#time').click(function(){
                var currentTime = new Date();
                var addOneMinute = currentTime.getMinutes();
                addOneMinute=parseInt(addOneMinute) + 1;
                var Time=currentTime.getHours() + ":"
                + addOneMinute + ":"
                + currentTime.getSeconds();
                console.log(Time);
                $(this).val(Time);
            });