添加5分钟到当前时间javascript

时间:2017-02-09 08:47:21

标签: javascript

我的当前日期如下:

var now = new Date();

我想在现有时间增加5分钟。时间是12小时格式。如果时间是凌晨3:46,那么我希望凌晨3:51。

function DateFormat(date) {
        var days = date.getDate();
        var year = date.getFullYear();
        var month = (date.getMonth() + 1);
        var hours = date.getHours();
        var minutes = date.getMinutes();
        var ampm = hours >= 12 ? 'PM' : 'AM';
        hours = hours % 12;
        hours = hours ? hours : 12; // the hour '0' should be '12'
        minutes = minutes < 10 ? '0' + minutes : minutes;
        var strTime = days + '/' + month + '/' + year + '/ ' + hours + ':' + minutes + ' ' + ampm;
     //   var strTime = hours + ':' + minutes + ' ' + ampm;
        return strTime;
    }

    function OnlyTime(date) {

            var days = date.getDate();
            var year = date.getFullYear();
            var month = (date.getMonth() + 1);
            var hours = date.getHours();
            var minutes = date.getMinutes();
            var ampm = hours >= 12 ? 'PM' : 'AM';
            hours = hours % 12;
            hours = hours ? hours : 12; // the hour '0' should be '12'
            minutes = minutes < 10 ? '0' + minutes : minutes;
           // var strTime = days + '/' + month + '/' + year + '/ ' + hours + ':' + minutes + ' ' + ampm;
              var strTime = hours + ':' + minutes + ' ' + ampm;
            return strTime;

    }

    function convertTime(time)
    {

        var hours = Number(time.match(/^(\d+)/)[1]);
        var minutes = Number(time.match(/:(\d+)/)[1]);
        var AMPM = time.match(/\s(.*)$/)[1];
        if (AMPM == "PM" && hours < 12) hours = hours + 12;
        if (AMPM == "AM" && hours == 12) hours = hours - 12;
        var sHours = hours.toString();
        var sMinutes = minutes.toString();
        if (hours < 10) sHours = "0" + sHours;
        if (minutes < 10) sMinutes = "0" + sMinutes;
        alert(sHours + ":" + sMinutes);
    }

    function addMinutes(date, minutes) {
        return new Date(date.getTime() + minutes * 60000);
    }

function convertTime(time)
    {

        var hours = Number(time.match(/^(\d+)/)[1]);
        var minutes = Number(time.match(/:(\d+)/)[1]);
        var AMPM = time.match(/\s(.*)$/)[1];
        if (AMPM == "PM" && hours < 12) hours = hours + 12;
        if (AMPM == "AM" && hours == 12) hours = hours - 12;
        var sHours = hours.toString();
        var sMinutes = minutes.toString();
        if (hours < 10) sHours = "0" + sHours;
        if (minutes < 10) sMinutes = "0" + sMinutes;
        alert(sHours + ":" + sMinutes);
    }

// calling way
  var now = new Date();
                now = DateFormat(now);
                var next = addMinutes(now, 5);

                next = OnlyTime(next);

                var nowtime = convertTime(next);

如何在&#34;现在&#34;添加5分钟变量? 感谢

8 个答案:

答案 0 :(得分:7)

您应该使用getTime()方法。

function AddMinutesToDate(date, minutes) {
    return new Date(date.getTime() + minutes*60000);
}

function AddMinutesToDate(date, minutes) {
     return new Date(date.getTime() + minutes*60000);
}
function DateFormat(date){
  var days=date.getDate();
  var year=date.getFullYear();
  var month=(date.getMonth()+1);
  var hours = date.getHours();
  var minutes = date.getMinutes();
  minutes = minutes < 10 ? '0'+ minutes : minutes;
  var strTime =days+'/'+month+'/'+year+'/ '+hours + ':' + minutes;
  return strTime;
}
var now = new Date();
console.log(DateFormat(now));
var next=AddMinutesToDate(now,5);
console.log(DateFormat(next));

答案 1 :(得分:3)

得到分钟并添加5分钟并设置分钟

&#13;
&#13;
var s = new Date();
console.log(s)
s.setMinutes(s.getMinutes()+5);

console.log(s)
&#13;
&#13;
&#13;

答案 2 :(得分:2)

使用JS非常容易,但为了给答案添加一些变化,这里有一种方法可以使用moment.js,这是一个处理日期/时间的流行库:

https://jsfiddle.net/ovqqsdh1/

var now = moment();
var future = now.add(5, 'minutes');
console.log(future.format("YYYY-MM-DD hh:mm"))

答案 3 :(得分:2)

&#13;
&#13;
//Date objects really covers milliseconds since 1970, with a lot of methods
//The most direct way to add 5 minutes to a Date object on creation is to add (minutes_you_want * 60 seconds * 1000 milliseconds)
var now = new Date(Date.now() + (5 * 60 * 1000));
console.log(now, new Date());
&#13;
&#13;
&#13;

答案 4 :(得分:0)

试试这个:

detail

答案 5 :(得分:0)

我将就如何添加ny:nw:nd:nh:nm:ns格式的{strong>任何字符串提供一个非常简短的答案,其中n是一个数字到Date对象:

/**
 * Adds any date string to a Date object.
 * The date string can be in any format like 'ny:nw:nd:nh:nm:ns' where 'n' are
 * numbers and 'y' is for 'year', etc. or, you can have 'Y' or 'Year' or 
 * 'YEar' etc.
 * The string's delimiter can be anything you like.
 * 
 * @param Date date The Date object
 * @param string t The date string to add
 * @param string delim The delimiter used inside the date string
 */
function addDate (date, t, delim) {
   var delim = (delim)? delim : ':',
       x = 0,
       z = 0,
       arr = t.split(delim);

   for(var i = 0; i < arr.length; i++) {
      z = parseInt(arr[i], 10);
      if (z != NaN) {
         var y = /^\d+?y/i.test(arr[i])? 31556926: 0; //years
         var w = /^\d+?w/i.test(arr[i])? 604800: 0;   //weeks
         var d = /^\d+?d/i.test(arr[i])? 86400: 0;    //days
         var h = /^\d+?h/i.test(arr[i])? 3600: 0;     //hours
         var m = /^\d+?m/i.test(arr[i])? 60: 0;       //minutes
         var s = /^\d+?s/i.test(arr[i])? 1: 0;        //seconds
         x += z * (y + w + d + h + m + s);
      }
   }
   date.setSeconds(date.getSeconds() + x);
}

测试它:

var x = new Date();
console.log(x);    //before
console.log('adds 1h:6m:20s');
addDate(x, '1h:6m:20s');
console.log(x);   //after
console.log('adds 13m/30s');
addDate(x, '13m/30s', '/');
console.log(x);   //after

玩得开心!

答案 6 :(得分:0)

此功能将接受ISO格式,并以分钟为参数。

function addSomeMinutesToTime(startTime: string | Date, minutestoAdd: number): string {
  const dateObj = new Date(startTime);
  const newDateInNumber = dateObj.setMinutes(dateObj.getMinutes() + minutestoAdd);
  const processedTime = new Date(newDateInNumber).toISOString();
  console.log(processedTime)
  return processedTime;
}
addSomeMinutesToTime(("2019-08-06T10:28:10.687Z"), 5)

答案 7 :(得分:0)

通过原型将时间添加到js时间

Date.prototype.AddMinutes = function ( minutes ) {
    minutes = minutes ? minutes : 0;
    this.setMinutes( this.getMinutes() + minutes );
    return this;
}

let now = new Date( );
console.log(now);

now.AddMinutes( 5 );
console.log(now);