जावास्क्रिप्ट दिनांक ऑब्जेक्ट में 30 मिनट कैसे जोड़ें?


782

मैं एक तिथि वस्तु प्राप्त करना चाहूंगा जो कि किसी अन्य दिनांक वस्तु से 30 मिनट बाद हो। मैं इसे जावास्क्रिप्ट के साथ कैसे करूं?


1
मैंने js में एक छोटा सा कैलेंडर पॉपअप स्क्रिप्ट बनाया, गितुब पर , शायद कोड के माध्यम से यह देखने के लिए कि दिनांक ऑब्जेक्ट के साथ कैसे अंतर है। इसके अलावा, जावास्क्रिप्ट किट को इसके भयानक js संदर्भ के रूप में देखें, विशेष रूप से दिनांक ऑब्जेक्ट के लिए।
क्रिश्चियन

2
नीचे दिए गए सभी उत्तर भिन्नता का उपयोग date.setMinutes(date.getMinutes() + ...)करते हुए डेलाइट सेविंग सीमाओं पर पार करने में विफल रहेंगे। उदाहरण के लिए ('' 2014-03-09 '' एक डेलाइट सेविंग सीमा है): var d = new Date('2014-03-09 01:59:00'), f = new Date(d.getTime()); d.setMinutes(d.getMinutes() + 30); dअब 30 मिनट पहले है, बाद में नहीं f
15

1
@Spig: DST सीमा पर 1:59 AM के 30 मिनट बाद 1:29 AM है। कोई त्रुटि नहीं है। यदि आप प्रिंट करते हैं fऔर d, आप देखेंगे कि एक "GMT-0500" कहता है, दूसरा "GMT-0400" (या जो भी आपका समय क्षेत्र है) कहता है। इसके अलावा, यदि आप .getTime()दोनों को बुलाते हैं fऔर d, आप देखेंगे कि (यानी बाद में) fसे बड़ा है d
किप

1
@Spig: दिलचस्प है, यह फ़ायरफ़ॉक्स पर कोशिश की और यह काम किया। मुझे लगता है कि यह विनिर्देशन में एक ग्रे क्षेत्र में आता है कि कैसे काम करना चाहिए ()। 01:89बन जाएगा 02:29, जिस दिन आप "वसंत आगे" मौजूद नहीं है। क्रोम तय करता है कि होना चाहिए 01:29, एफएफ तय करता है 03:29। रात को जब आप "फॉल बैक" करते हैं, तो दोनों ब्राउज़र "फॉल बैक" आवर को छोड़ देते हैं और 90 मिनट तक आगे कूद जाते हैं 02:29। यहाँ कुछ JSFiddle डेमो हैं: "स्प्रिंग फ़ॉरवर्ड" / "फ़ॉल बैक"
किप

1
यदि नीचे दिए गए उत्तरों में से एक ने आपके प्रश्न का उत्तर दिया, तो यह साइट जिस तरह से काम करती है, आप उत्तर को "स्वीकार" करेंगे, यहाँ और अधिक: किसी को मेरे प्रश्न का उत्तर देने पर मुझे क्या करना चाहिए? । लेकिन केवल अगर आपके प्रश्न का वास्तव में उत्तर दिया गया है। यदि नहीं, तो प्रश्न पर अधिक विवरण जोड़ने पर विचार करें।
गुडबाय StackExchange

जवाबों:


949

लाइब्रेरी का उपयोग करना

यदि आप बहुत सारे दिनांक कार्य कर रहे हैं, तो आप Datejs या Moment.js जैसे जावास्क्रिप्ट दिनांक पुस्तकालयों में देखना चाह सकते हैं । उदाहरण के लिए, Moment.js के साथ, यह बस है:

var newDateObj = moment(oldDateObj).add(30, 'm').toDate();

वेनिला जावास्क्रिप्ट

यह अराजकता के जवाब की तरह है , लेकिन एक पंक्ति में:

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);

कहाँ diffतुम चाहते मिनट में अंतर से है oldDateObjके समय। यह नकारात्मक भी हो सकता है।

या एक पुन: प्रयोज्य कार्य के रूप में, यदि आपको इसे कई स्थानों पर करने की आवश्यकता है:

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

और सिर्फ अगर यह स्पष्ट नहीं है, तो जिस कारण से हम मिनटों को गुणा करते हैं, वह 60000मिनटों को मिलीसेकंड में बदलना है।

वेनिला जावास्क्रिप्ट के साथ सावधान रहें। तारीखें कठिन हैं!

आप सोच सकते हैं कि आप कल की तारीख पाने के लिए एक तारीख में 24 घंटे जोड़ सकते हैं, है ना? गलत!

addMinutes(myDate, 60*24); //DO NOT DO THIS

यह पता चला है, अगर उपयोगकर्ता दिन के उजाले की बचत का समय देखता है, तो एक दिन जरूरी नहीं कि 24 घंटे लंबा हो। साल में एक दिन ऐसा होता है जो केवल 23 घंटे लंबा होता है, और साल में एक दिन 25 घंटे लंबा होता है। उदाहरण के लिए, संयुक्त राज्य अमेरिका और कनाडा के अधिकांश में, आधी रात के बाद 24 घंटे, 2 नवंबर 2014, अभी भी 2 नवंबर है:

const NOV = 10; //because JS months are off by one...
addMinutes(new Date(2014, NOV, 2), 60*24); //In USA, prints 11pm on Nov 2, not 12am Nov 3!

यही कारण है कि उपरोक्त उल्लिखित पुस्तकालयों में से एक का उपयोग करना एक सुरक्षित शर्त है यदि आपको इसके साथ बहुत काम करना है।

नीचे इस फ़ंक्शन का एक अधिक सामान्य संस्करण है जो मैंने लिखा था। मैं अभी भी एक पुस्तकालय का उपयोग करने की सलाह दूंगा, लेकिन यह आपकी परियोजना के लिए ओवरकिल / असंभव हो सकता है। सिंटैक्स को MySQL DATE_ADD फ़ंक्शन के बाद बनाया गया है ।

/**
 * Adds time to a date. Modelled after MySQL DATE_ADD function.
 * Example: dateAdd(new Date(), 'minute', 30)  //returns 30 minutes from now.
 * https://stackoverflow.com/a/1214753/18511
 * 
 * @param date  Date to start with
 * @param interval  One of: year, quarter, month, week, day, hour, minute, second
 * @param units  Number of units of the given interval to add.
 */
function dateAdd(date, interval, units) {
  if(!(date instanceof Date))
    return undefined;
  var ret = new Date(date); //don't change original date
  var checkRollover = function() { if(ret.getDate() != date.getDate()) ret.setDate(0);};
  switch(String(interval).toLowerCase()) {
    case 'year'   :  ret.setFullYear(ret.getFullYear() + units); checkRollover();  break;
    case 'quarter':  ret.setMonth(ret.getMonth() + 3*units); checkRollover();  break;
    case 'month'  :  ret.setMonth(ret.getMonth() + units); checkRollover();  break;
    case 'week'   :  ret.setDate(ret.getDate() + 7*units);  break;
    case 'day'    :  ret.setDate(ret.getDate() + units);  break;
    case 'hour'   :  ret.setTime(ret.getTime() + units*3600000);  break;
    case 'minute' :  ret.setTime(ret.getTime() + units*60000);  break;
    case 'second' :  ret.setTime(ret.getTime() + units*1000);  break;
    default       :  ret = undefined;  break;
  }
  return ret;
}

काम jsFiddle डेमो


14
यह बहुत शक्तिशाली है; यह किसी भी राशि के लिए कार्य करता है भले ही संख्या नकारात्मक थी।
वाहिद बितर

3
सेकंड के लिए, 60k के बजाय 1000 से गुणा करें।
as33999

2
DateAdd () फ़ंक्शन बहुत अच्छा है! लेकिन मेरे पास एक नोट है - शब्दार्थ, इकाई "मिनट", "दूसरी", आदि होनी चाहिए और अंतराल राशि (2, 10, 45, ...) होनी चाहिए, इसके विपरीत नहीं। अन्यथा विचार अच्छा है।
वासिल पोपोव

1
यह उत्तर महीने के रोल ओवरों को समायोजित करने में विफल रहता है, इसलिए 31 जन प्लस एक महीना 2 या 3 मार्च देता है जो इस बात पर निर्भर करता है कि यह लीप वर्ष है या नहीं। AddMonths और addYears उस के साथ जैकोबी के जवाब सौदे में कार्यों इसलिए मेरे लिए यह एक बेहतर जवाब है।
रॉबग

1
@RobG अच्छी बात है। मैंने इसके लिए एक फिक्स जोड़ा है और आगे "संभव हो तो लाइब्रेरी का उपयोग करें" बिंदु पर जोर दिया है।
किप

237
var d1 = new Date ();
var d2 = new Date ( d1 );
d2.setMinutes ( d1.getMinutes() + 30 );
alert ( d2 );

114
@ जैमी: आपको दो Dateवस्तुओं की आवश्यकता नहीं है । var d = new Date(); d.setMinutes(d.getMinutes() + 30);
ग्रांट वैगनर

15
@Grant: मैंने d2 = "मान लिया कि मैं एक तिथि वस्तु प्राप्त करना चाहूंगा" और d1 = "एक और तिथि वस्तु के लिए"
जेमी

7
@CKeene, setMinutes और getMinutes सादे पुराने जावास्क्रिप्ट का हिस्सा हैं (हालांकि डेटज अन्य सामान का एक पूरा गुच्छा प्रदान करता है)।
s29

4
FYI करें- यह डेलाइट सेविंग टाइम सीमाओं को तोड़ सकता है। JSFiddle डेमो: "स्प्रिंग फ़ॉरवर्ड" / "फ़ॉल बैक" (इसके लिए धन्यवाद @Spig)
किप

@trevorgrayson यदि आपके द्वारा निर्दिष्ट कोई पैरामीटर अपेक्षित सीमा से बाहर है, तो सेटइन्यूट्स () तदनुसार दिनांक जानकारी को अपडेट करने का प्रयास करता है। उदाहरण के लिए, यदि आप 100 का उपयोग करते हैं, तो घंटे 1 से बढ़ जाएंगे और 40 मिनट के लिए उपयोग किया जाएगा।
Mihai Crăiță

155

var oldDateObj = new Date();
var newDateObj = new Date();
newDateObj.setTime(oldDateObj.getTime() + (30 * 60 * 1000));
console.log(newDateObj);


3
ध्यान दें कि setTimeएक संख्यात्मक मिलीसेकंड टाइमस्टैम्प लौटाता है, दिनांक वस्तु नहीं। (ऐसा मत सोचो कि आप एक-लाइनर कर सकते हैं।)
एलन एच।

12
var in30Mins = new Date(+new Date() + 1.8e6)एक-लाइनर है, लेकिन यकीन नहीं है कि यह दो-लाइनर से बेहतर है। ;-)
रॉबिन

112

var now = new Date();
now.setMinutes(now.getMinutes() + 30); // timestamp
now = new Date(now); // Date object
console.log(now);


9
ध्यान दिया मैं इस का एक डुप्लिकेट पोस्ट किया। इसके बजाय हटाए गए और +1 किए गए।
इज़ी

3
इस सवाल का सबसे सरल उत्तर है
vijay

मुझे लगता setMinutesहै कि टाइमस्टैम्प लौटाता है, लेकिन वस्तु nowबनी हुई है Date, इसलिए now = new Date(now)अप्रचलित है
p.boiko

46

शायद ऐसा कुछ हो?

var d = new Date();
var v = new Date();
v.setMinutes(d.getMinutes()+30);

console.log(v)


6
@ चाचा 102: आपको दो Dateवस्तुओं की आवश्यकता नहीं है । var d = new Date(); d.setMinutes(d.getMinutes() + 30);
ग्रांट वैगनर

12
उसे दो तारीख की वस्तु चाहिए थी। प्रश्न पढ़ें। वन डेट ऑब्जेक्ट जो किसी अन्य डेट ऑब्जेक्ट से 30 मिनट आगे है।
टायलर कार्टर

5
क्या यह ठीक काम करता है अगर यह घंटे के पिछले छोरों? इसलिए अगर मैं इसे 11:59 पर कॉल करता हूं, तो क्या यह 12:29 पर ठीक होता है?
क्रिस राय

1
@ChrisRae हाँ, यह करता है। If a parameter you specify is outside of the expected range, setMinutes() attempts to update the date information in the Date object accordingly.
Fridoo

35

मैं हमेशा जेएस में तारीख के साथ काम करने के लिए 7 फ़ंक्शन बनाता हूं: एडसेकंड्स, एडमींस, एडहॉर्स, एडडेज़, एडवाइक्स, एडमार्ट्स, एडयियर्स।

आप यहां एक उदाहरण देख सकते हैं: http://jsfiddle.net/tiagoajacobi/YHA8x/

कैसे इस्तेमाल करे:

var now = new Date();
console.log(now.addMinutes(30));
console.log(now.addWeeks(3));

यह कार्य हैं:

        Date.prototype.addSeconds = function(seconds) {
            this.setSeconds(this.getSeconds() + seconds);
            return this;
        };

        Date.prototype.addMinutes = function(minutes) {
            this.setMinutes(this.getMinutes() + minutes);
            return this;
        };

        Date.prototype.addHours = function(hours) {
            this.setHours(this.getHours() + hours);
            return this;
        };

        Date.prototype.addDays = function(days) {
            this.setDate(this.getDate() + days);
            return this;
        };

        Date.prototype.addWeeks = function(weeks) {
            this.addDays(weeks*7);
            return this;
        };

        Date.prototype.addMonths = function (months) {
            var dt = this.getDate();

            this.setMonth(this.getMonth() + months);
            var currDt = this.getDate();

            if (dt !== currDt) {  
                this.addDays(-currDt);
            }

            return this;
        };

        Date.prototype.addYears = function(years) {
            var dt = this.getDate();

            this.setFullYear(this.getFullYear() + years);

            var currDt = this.getDate();

            if (dt !== currDt) {  
                this.addDays(-currDt);
            }

            return this;
        };

किसी को भी इस दृष्टिकोण के साथ किसी भी मुद्दे को देख सकते हैं?
देंबिंस्की

1
इसके बजाय क्षणों का उपयोग करें
विक्टर पुडेयव

@ TheDembinski- आप किन मुद्दों की उम्मीद कर रहे हैं? अंतर्निर्मित अंतर्वस्तु को आमतौर पर नापसंद किया जाता है, लेकिन मैं दिनांक के साथ कोई समस्या नहीं देख सकता। यह अच्छा होगा यदि प्रत्येक प्रमुख वेतन वृद्धि भी वैकल्पिक रूप से अपनी मामूली वेतन वृद्धि ( सेट * विधियों के रूप में ) करेगी , इसलिए addHours ने वैकल्पिक रूप से मिनट, सेकंड और मिलीसेकंड लिया ताकि आप date.addHours(3, 30)3 घंटे और 30 मिनट जोड़ सकें । addYears साल, महीने और दिन लगते हैं, addMonths महीने और दिन लगेंगे , addinute मिनट, सेकंड, मिलीसेकंड, आदि ले जाएगा
RobG

1
हाय @transformer मैं कुछ इस तरह से करूँगा new Date().addHours(4).addMinutes(45);आप जितने चाहें कॉल कर सकते हैं, क्योंकि विधियाँ "यह" लौटाती हैं जो वर्तमान दिनांक ऑब्जेक्ट है।
जैकोबी

1
हाय @ ट्रांसफॉर्मर, मुझे यकीन नहीं है कि मैं आपकी समस्या को समझ गया हूं, लेकिन ये प्रोटोटाइप फ़ंक्शन हैं, आप किसी भी क्रम में उपयोग कर सकते हैं जो आप चाहते हैं, पूर्व: var dt = new Date();तब dt.addMinutes(45); dt.addHours(4);या यहां तक ​​कि dt.addMinutes(285);या dt.addMinutes(45).addHours(4);सभी काम करेंगे। यदि आपके पास कुछ कोड उदाहरण के साथ कोई प्रश्न है, तो अपनी समस्या के लिए यहां पोस्ट करें मैं आपकी मदद करने में प्रसन्न हूं।
जैकोबी

13

हल करने का सबसे आसान तरीका यह है कि यह पहचाना जाए कि जावास्क्रिप्ट की तारीखें सिर्फ संख्याएँ हैं। यह शुरू होता है 0या 'Wed Dec 31 1969 18:00:00 GMT-0600 (CST)। हर 1एक मिलीसेकंड का प्रतिनिधित्व करता है। आप मूल्य प्राप्त करके और उस मूल्य का उपयोग करके एक नई तारीख को तत्काल जोड़कर मिलीसेकंड जोड़ या घटा सकते हैं। आप इसे बहुत आसान बना सकते हैं।

const minutesToAdjust = 10;
const millisecondsPerMinute = 60000;
const originalDate = new Date('11/20/2017 10:00 AM');
const modifiedDate1 = new Date(originalDate.valueOf() - (minutesToAdjust * millisecondsPerMinute));
const modifiedDate2 = new Date(originalDate.valueOf() + (minutesToAdjust * millisecondsPerMinute));

console.log(originalDate); // Mon Nov 20 2017 10:00:00 GMT-0600 (CST)
console.log(modifiedDate1); // Mon Nov 20 2017 09:50:00 GMT-0600 (CST)
console.log(modifiedDate2); // Mon Nov 20 2017 10:10:00 GMT-0600 (CST)

9

यह वही है जो मुझे लगता है कि काफी अच्छा काम करता है:

Date.prototype.addMinutes = function(minutes) {
    var copiedDate = new Date(this.getTime());
    return new Date(copiedDate.getTime() + minutes * 60000);
}

तब आप इसे इस तरह से कॉल कर सकते हैं:

var now = new Date();
console.log(now.addMinutes(50));

1
आप बस कर सकते हैं return new Date(this.getTime() + minutes * 60000);, मैं अंतरिम copyDate आवश्यक नहीं है। ;-)
रोबग

5

यहाँ ES6 संस्करण है:

let getTimeAfter30Mins = () => {
  let timeAfter30Mins = new Date();
  timeAfter30Mins = new Date(timeAfter30Mins.setMinutes(timeAfter30Mins.getMinutes() + 30));
};

इसे कॉल करें जैसे:

getTimeAfter30Mins();

मेरे पास 4:30 घंटा + 2:15 बजे / मिनट दर्ज करने वाले उपयोगकर्ता हैं, मैं उपयोगकर्ताओं को घंटे और मिनट कैसे पास करने दे सकता हूं और इसे मौजूदा घंटों के मिनटों में जोड़ सकता हूं।
ट्रांसफॉर्मर

@transformer आप नंबर सत्यापन होने पर घंटों, मिनट और इतने पर अलग-अलग इनपुट फ़ील्ड दे सकते हैं।
xameeramir

5

मुझे लगता है कि कई जवाब यहाँ एक रचनात्मक घटक की कमी है, समय की गणना के लिए बहुत आवश्यक है। मैं 30 मिनट के अस्थायी अनुवाद के लिए अपना समाधान प्रस्तुत करता हूं।

( यहाँ jsfiddle )

function fluxCapacitor(n) {
    var delta,sigma=0,beta="ge";
    (function(K,z){

        (function(a,b,c){
            beta=beta+"tT";
            switch(b.shift()) {
                case'3':return z('0',a,c,b.shift(),1);
                case'0':return z('3',a,c,b.pop());
                case'5':return z('2',a,c,b[0],1);
                case'1':return z('4',a,c,b.shift());
                case'2':return z('5',a,c,b.pop());
                case'4':return z('1',a,c,b.pop(),1);
            }
        })(K.pop(),K.pop().split(''),K.pop());
    })(n.toString().split(':'),function(b,a,c,b1,gamma){
       delta=[c,b+b1,a];sigma+=gamma?3600000:0; 
       beta=beta+"im";
    });
    beta=beta+"e";
    return new Date (sigma+(new Date( delta.join(':')))[beta]());
}

मुझे मानना ​​पड़ेगा कि यह रचनात्मक है। लेकिन यार .. यह पढ़ना मुश्किल है!
एरिक बाण

2

अपने जैसे आलसी के लिए:

कॉफ़ी के उत्तर में (ऊपर से) ताबूत में, "एनम" का उपयोग करके, और उसी वस्तु पर काम कर रहा है:

Date.UNIT =
  YEAR: 0
  QUARTER: 1
  MONTH: 2
  WEEK: 3
  DAY: 4
  HOUR: 5
  MINUTE: 6
  SECOND: 7
Date::add = (unit, quantity) ->
  switch unit
    when Date.UNIT.YEAR then @setFullYear(@getFullYear() + quantity)
    when Date.UNIT.QUARTER then @setMonth(@getMonth() + (3 * quantity))
    when Date.UNIT.MONTH then @setMonth(@getMonth() + quantity)
    when Date.UNIT.WEEK then @setDate(@getDate() + (7 * quantity))
    when Date.UNIT.DAY then @setDate(@getDate() + quantity)
    when Date.UNIT.HOUR then @setTime(@getTime() + (3600000 * quantity))
    when Date.UNIT.MINUTE then @setTime(@getTime() + (60000 * quantity))
    when Date.UNIT.SECOND then @setTime(@getTime() + (1000 * quantity))
    else throw new Error "Unrecognized unit provided"
  @ # for chaining

2

एक मौजूदा पुस्तकालय का उपयोग करें, जो समय की गणना से निपटने में शामिल quirks को संभालने के लिए जाना जाता है। मेरा वर्तमान पसंदीदा क्षण हैJs

<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.js"></script>
<script>
 var now = moment(); // get "now"
 console.log(now.toDate()); // show original date
 var thirty = moment(now).add(30,"minutes"); // clone "now" object and add 30 minutes, taking into account weirdness like crossing DST boundries or leap-days, -minutes, -seconds.
 console.log(thirty.toDate()); // show new date
</script>

3
यदि आप बिना कारण बताए उत्तर सुधार सकते हैं।
Ouroborus

ओपी ने जावास्क्रिप्ट समाधान के लिए कहा, न कि एक रूपरेखा / पुस्तकालय।
मैटपार्क

2
@ Mattpark22 जब मैं समझता हूं कि आप क्या कर रहे हैं, तो एक जावास्क्रिप्ट लाइब्रेरी अभी भी जावास्क्रिप्ट है। मैं लाइब्रेरी के सिर्फ प्रासंगिक टुकड़ों को निकाल सकता था और उन्हें कोड समाधान के रूप में प्रस्तुत कर सकता था। ओपी का एक उत्तर होगा जो जावास्क्रिप्ट था, इस अर्थ में कि आप इसका मतलब है, लेकिन एक (संभवतः) स्वीकार्य, सामान्य उद्देश्य समाधान से अनजान होंगे। इसके अलावा, 30 मिनट जोड़ना लगभग तुच्छ नहीं है क्योंकि अधिकांश उत्तर इसे ध्वनि बनाते हैं, क्योंकि बहुत सारे किनारे मामले हैं जो दिनांक ऑब्जेक्ट द्वारा नियंत्रित नहीं किए जाते हैं। उदाहरण के लिए, डीएसटी सीमाओं को पार करते समय सबसे लोकप्रिय उत्तर टूट जाता है।
ओरियोबोरस

@ ओपुरबोरस-पुस्तकालय केवल एकमात्र समाधान नहीं होना चाहिए, यदि ओपी ने ओपी या टैग में पुस्तकालय के लिए नहीं कहा है। अन्यथा, उत्तर अलग-अलग पुस्तकालयों में कुछ करने के तरीकों का सिर्फ एक मुकुट बन सकते हैं और ओपी को उनके वास्तविक मुद्दे से कोई मतलब नहीं है (जो इस मामले में हल करने के लिए काफी तुच्छ है)।
रॉबग

1
@RobG किसी का सुझाव नहीं है कि केवल पुस्तकालय समाधान प्रदान किया जाना चाहिए। ओपी विशेष रूप से एक पुस्तकालय के लिए नहीं पूछ सकता है क्योंकि इससे सवाल का विषय बंद हो जाएगा। "मैं इसे जावास्क्रिप्ट के साथ कैसे करूँ?" यह निर्दिष्ट करने के रूप में माना जा सकता है कि यह जावास्क्रिप्ट के लिए विशिष्ट है (एक विशिष्ट भाषा में समाधान के रूप में एक कच्चे कोड के समाधान के लिए पूछने के विपरीत) विशेष रूप से यह देखते हुए कि यह विवरण शीर्षक और टैग में दोहराया गया है।
ऑरोबोरस

1

बस एक और विकल्प, जो मैंने लिखा:

DP_DateExtensions लाइब्रेरी

यह ओवरकिल है अगर यह सभी तारीख प्रसंस्करण है जिसकी आपको आवश्यकता है, लेकिन यह वही करेगा जो आप चाहते हैं।

दिनांक / समय स्वरूपण, दिनांक गणित (तिथि / जोड़ जोड़ घटाना), दिनांक तुलना, दिनांक पार्सिंग आदि का समर्थन करता है। यह उदारतापूर्वक खुला स्रोत है।




1

आपको (एमएस) के साथ तारीख प्राप्त करने के लिए वर्तमान तिथि का मूल्य प्राप्त करना चाहिए और इसमें (30 * 60 * 1000) जोड़ना चाहिए। अब आपके पास (वर्तमान दिनांक + 30 मिनट) ms

console.log('with ms', Date.now() + (30 * 60 * 1000))
console.log('new Date', new Date(Date.now() + (30 * 60 * 1000)))


0

मुझे पता है कि विषय बहुत पुराना है। लेकिन मुझे पूरा यकीन है कि कुछ ऐसे डेवलपर हैं जिन्हें अभी भी इसकी आवश्यकता है, इसलिए मैंने आपके लिए यह सरल स्क्रिप्ट बनाई है। मुझे उम्मीद है कि आप इसे पसन्द करेंगें!

function strtotime(date, addTime){
  let generatedTime=date.getTime();
  if(addTime.seconds) generatedTime+=1000*addTime.seconds; //check for additional seconds 
  if(addTime.minutes) generatedTime+=1000*60*addTime.minutes;//check for additional minutes 
  if(addTime.hours) generatedTime+=1000*60*60*addTime.hours;//check for additional hours 
  return new Date(generatedTime);
}

let futureDate = strtotime(new Date(), {
    hours: 1, //Adding one hour
    minutes: 45, //Adding fourty five minutes
    seconds: 0 //Adding 0 seconds return to not adding any second so  we can remove it.
});
<button onclick="alert(futureDate)">Travel to the future</button>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.