2017-02-09 8 views
1

現在の時間に5分を追加します。時間は12時間形式です。時間が午前3時46分であれば、私は午前3時51分に行きたいです。は、以下のように、私は現在の日付を取得していますJavaScriptの

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); 

"now"変数に5分を追加するにはどうすればよいですか? おかげ

+8

[JavaScript Dateオブジェクトに30分を追加するにはどうすればいいですか?](http://stackoverflow.com/questions/1197928/how-to-add-30-minutes-to-a-javascript-date-オブジェクト) – Philipp

+1

uhm ... 'now.setMinutes(now.getMinutes()+ 5)'?怠惰にしないでください。 – KarelG

+2

代わりにMomentJSを使用してください。シンプルに見えるにもかかわらず、時間が間違ってしまうのはあまりにも簡単です。 –

答えて

0

はこれを試してみてください:

var newDateObj = new Date(); 
newDateObj.setTime(oldDateObj.getTime() + (5 * 60 * 1000)); 
4

あなたは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));

+0

こんにちは@ Alexandru-lonut Mihai。上記の例で12時間形式の時刻だけを返すことは可能ですか? – venkat14

+0

どのエラーが表示されますか? –

+0

TypeError:オブジェクトがプロパティまたはメソッド 'getTime'をサポートしていません。ラインがnow = DateFormat(今)にヒットすると、 "9/2/2017/4:44 AM"という値が得られます。この値は、var next = addMinutes(now、5)に渡されます。私の以前の記事では、間違って12時間形式を記述していましたが、私はConvertTimeメソッドでやろうとしている24時間形式を取得しようとしています – venkat14

1

分を取得し、それに5を追加し、JSとかなり使いやすい分

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

 
console.log(s)

2

を設定し、それに多様のわずかなビットを追加します答えは、ここではそれを行う方法です.jsは、handlのための人気のあるライブラリですINGの日付/時刻:

https://jsfiddle.net/ovqqsdh1/

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

//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());

0

は、私は、フォームのいずれかの文字列を追加する方法の非常に短い答えを与えるでしょうny:nw:nd:nh:nm:nsnDateオブジェクトの番号です:

/** 
* 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 

は、お楽しみに!

関連する問題