একটি জাভাস্ক্রিপ্ট তারিখ অবজেক্টে 30 মিনিট কীভাবে যুক্ত করবেন?


782

আমি একটি তারিখ অবজেক্টটি পেতে চাই যা অন্য তারিখের অবজেক্টের চেয়ে 30 মিনিট পরে। আমি এটি জাভাস্ক্রিপ্ট দিয়ে কীভাবে করব?


1
আমি জেএসে একটি ছোট ক্যালেন্ডার পপআপ স্ক্রিপ্ট তৈরি করেছি, এটি গিথুব-এ , সম্ভবত তারিখের সাথে কীভাবে ইন্টারেক্ট করা হয় তা দেখতে কোডটি দেখুন। এছাড়াও, জাভাস্ক্রিপ্ট কিটটিকে একটি দুর্দান্ত জেএস রেফারেন্স হিসাবে পরীক্ষা করুন , বিশেষ করে তারিখের অবজেক্টের জন্য।
খ্রিস্টান

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
Spig

1
@ স্পিগ: ডিএসটি সীমানায় 1:59 পূর্বাহ্নের 30 মিনিট পরে 1: 29 এএম। কোন ত্রুটি নেই। আপনি যদি মুদ্রণ করেন fএবং d, আপনি একজনকে "GMT-0500" বলে দেখবেন অন্যজন "GMT-0400" বলে (বা আপনার সময় অঞ্চলটি যাই হোক না কেন)। এছাড়াও, যদি আপনি .getTime()উভয়কে কল করেন fএবং d, আপনি দেখতে পাবেন যে fএটি বৃহত্তর d(অর্থাত্ পরে)।
কিপ

1
@ স্পিগ: আকর্ষণীয়, এটি ফায়ারফক্সে চেষ্টা করে দেখে কাজ হয়েছে। আমি মনে করি কীভাবে getMinutes () কাজ করা উচিত তার নির্দিষ্টকরণে এটি ধূসর অঞ্চলে পড়ে। 01:89হয়ে উঠবে 02:29, যা আপনি "বসন্ত এগিয়ে" যেদিন উপস্থিত নেই। ক্রোম সিদ্ধান্ত নেয় যা হওয়া উচিত 01:29, এফএফ সিদ্ধান্ত নেয় 03:29। রাত যখন আপনি "ফিরে পড়া" অন, উভয় ব্রাউজার "ফিরে পড়া" ঘন্টা লাফালাফি করুন এবং 90 মিনিট এগিয়ে তিড়িং লাফ 02:29। এখানে কিছু জেএসফিডাল ডেমো রয়েছে: "স্প্রিং ফরোয়ার্ড" / "পিছিয়ে পড়া"
কিপ

1
যদি নীচের উত্তরগুলির মধ্যে একটি উত্তর যদি আপনার প্রশ্নের উত্তর দেয়, এই সাইটটি যেভাবে কাজ করে তা আপনি উত্তরটি "গ্রহণ" করতে চান, আরও এখানে: কেউ আমার প্রশ্নের উত্তর দিলে আমি কী করব? । তবে শুধুমাত্র যদি আপনার প্রশ্নের উত্তর দেওয়া হয়ে থাকে। যদি তা না হয় তবে প্রশ্নটিতে আরও বিশদ যুক্ত করার বিষয়টি বিবেচনা করুন।
বিদায় স্ট্যাক এক্সচেঞ্জ 21

উত্তর:


948

একটি লাইব্রেরি ব্যবহার করে

আপনি যদি অনেক তারিখের কাজ করে থাকেন তবে আপনি জাভাস্ক্রিপ্টের তারিখ লাইব্রেরি যেমন ডেটজ বা মোমেন্ট.জেএস দেখতে চাইতে পারেন । উদাহরণস্বরূপ, মোমেন্ট.জেএস সহ, এটি সহজভাবে:

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 ঘন্টা দীর্ঘ হয় না। বছরে একদিন থাকে যা কেবল ২৩ ঘন্টা দীর্ঘ এবং বছরে একদিন 25 ঘন্টা দীর্ঘ। উদাহরণস্বরূপ, মার্কিন যুক্তরাষ্ট্র এবং কানাডার বেশিরভাগ ক্ষেত্রে, নভেম্বর 2, 2014, মধ্যরাতের 24 ঘন্টা পরে এখনও নভেম্বর 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!

এই কারণেই আপনাকে উল্লিখিত লাইব্রেরিগুলির একটি ব্যবহার করা নিরাপদ বাজি এটির সাথে যদি আপনাকে অনেক কাজ করতে হয়।

নীচে আমি এই ফাংশনটির আরও জেনেরিক সংস্করণ লিখেছি। আমি এখনও একটি লাইব্রেরি ব্যবহার করার পরামর্শ দিচ্ছি, তবে এটি আপনার প্রকল্পের জন্য ওভারকিল / অসম্ভব হতে পারে। সিনট্যাক্সটি মাইএসকিউএল 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;
}

জেএসফিডাল ডেমো কাজ করছে


14
এটি খুব শক্তিশালী; সংখ্যাটি নেতিবাচক থাকলেও এটি কোনও পরিমাণের জন্য কাজ করে।
ওয়াহিদ বিটার

3
সেকেন্ডের জন্য, 60 কে এর পরিবর্তে 1000 দিয়ে গুণ করুন।
ashes999

2
ডেটএড অ্যাড () ফাংশন দুর্দান্ত! তবে আমার কাছ থেকে একটি নোট রয়েছে - শব্দার্থকভাবে, ইউনিটটি "মিনিট", "দ্বিতীয়" ইত্যাদি হওয়া উচিত এবং বিরতিটি বিপরীতে নয়, পরিমাণ (2, 10, 45, ...) হওয়া উচিত। নাহলে ধারণাটি ভাল।
ভাসিল পপভ

1
এই উত্তরটি মাস রোল ওভারগুলিতে সামঞ্জস্য করতে ব্যর্থ হয়, সুতরাং 31 জানুয়ারী এক মাস এক লিপ বছর কিনা তা নির্ভর করে 2 বা 3 মার্চ দেয়। আমার সাথে জ্যাকবীর উত্তর চুক্তিতে অ্যাডমোথস এবং অ্যাডস ক্লাস কাজ করে, এটি আমার পক্ষে আরও ভাল উত্তর।
রবিজি

1
@ রবজি গুড পয়েন্ট আমি এটির জন্য একটি সংশোধন যোগ করেছি এবং আরও "জেনে থাকলে একটি লাইব্রেরি ব্যবহার করুন" পয়েন্টটিতে জোর দিয়েছি।
কিপ

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

113
@ জ্যামি: আপনার দুটি Dateজিনিস দরকার নেই । var d = new Date(); d.setMinutes(d.getMinutes() + 30);
গ্র্যান্ট ওয়াগনার 21

15
@ গ্রান্ট: আমি ধরে নিয়েছিলাম ডি 2 = "আমি একটি তারিখ অবজেক্ট পেতে চাই" এবং ডি 1 = "অন্য তারিখের অবজেক্টে"
জ্যামি

7
@CKeene, setMinutes এবং getMinutes হ'ল পুরানো জাভাস্ক্রিপ্টের অংশ (যদিও ডেটজগুলি অন্যান্য সামগ্রীর পুরো গুচ্ছ সরবরাহ করে)।
s29

4
এফওয়াইআই- এটি দিবালোক সংরক্ষণের সময়সীমা অতিক্রম করতে পারে। জেএসফিডাল ডেমো: "স্প্রিং ফরোয়ার্ড" / "পিছিয়ে পড়ুন" (এর জন্য ধন্যবাদ @ স্পিগ)
কিপ করুন

@ ট্র্যাভোরগ্রায়সন আপনার নির্দিষ্ট করা প্যারামিটার যদি প্রত্যাশিত ব্যাপ্তির বাইরে থাকে, সেটম্যান্টস () অনুসারে তারিখের তথ্য আপডেট করার চেষ্টা করে। উদাহরণস্বরূপ, আপনি যদি 100 ব্যবহার করেন, তবে ঘন্টাগুলি 1 দ্বারা বাড়ানো হবে এবং 40 মিনিটের জন্য ব্যবহার করা হবে।
মিহাই ক্রিশিয়

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
এই প্রশ্নের সহজ উত্তর
বিজয়

আমি মনে করি 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
@ চাচা ১০২২: আপনার দুটি Dateবস্তুর দরকার নেই । var d = new Date(); d.setMinutes(d.getMinutes() + 30);
গ্রান্ট ওয়াগনার 21

12
তিনি দুটি তারিখের জিনিস চেয়েছিলেন। প্রশ্ন পড়া. একটি তারিখ অবজেক্ট যা অন্য তারিখের অবজেক্টের চেয়ে 30 মিনিট এগিয়ে।
টাইলার কার্টার

5
এই কাজটি যদি ঘন্টাখানেক আগে চলে যায় তবে ঠিক আছে? সুতরাং যদি আমি এটিকে 11:59-এ কল করি তবে এটি কি ঠিকঠাক হয়ে যায়?
ক্রিস

1
@ ক্রিসআরএ হ্যাঁ, এটি করে। If a parameter you specify is outside of the expected range, setMinutes() attempts to update the date information in the Date object accordingly.
ফ্রিডু

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
পরিবর্তে moment.js ব্যবহার করুন
ভিক্টর পুদেয়েভ

@ দ্যডিম্বিনস্কি — কোন বিষয়গুলি আপনি প্রত্যাশা করছেন? বিল্ট-ইনগুলি প্রসারিত করা সাধারণত অপছন্দ করা হয় তবে আমি তারিখের সাথে কোনও সমস্যা দেখতে পাচ্ছি না। এটি দুর্দান্ত হবে যদি প্রতিটি বড় বর্ধিততাও অপ্রয়োজনীয়ভাবে তার সামান্য বৃদ্ধি ( সেট * পদ্ধতিগুলির মতো করে) সেট করে , তাই অ্যাডহাউসগুলি বিকল্পভাবে কয়েক মিনিট, সেকেন্ড এবং মিলিসেকেন্ড সময় নেয় যাতে আপনি date.addHours(3, 30)3 ঘন্টা 30 মিনিট যোগ করতে পারেন। অ্যাডসগুলিতে কয়েক বছর, মাস এবং দিন লাগবে , অ্যাডমুনটস কয়েক মাস এবং দিন লাগবে , অ্যাডমিনিটস কয়েক মিনিট, সেকেন্ড, মিলিসেকেন্ড ইত্যাদি গ্রহণ করবে
রবজি

1
হাই @ ট্রান্সফরমার আমি এরকম কিছু করব 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

সমাধানের সহজতম উপায় হ'ল জাভাস্ক্রিপ্টের তারিখগুলি কেবল সংখ্যা are এটি শুরু হয় 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);, আমি অন্তর্বর্তীকালীন অনুলিপি করার প্রয়োজন নেই। ;-)
রবজি 3

5

এখানে ES6 সংস্করণটি রয়েছে:

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

এটিকে কল করুন:

getTimeAfter30Mins();

আমার কাছে ব্যবহারকারীরা 4:30 ঘন্টা + 2:15 ঘন্টা / মিনিট প্রবেশ করছে, আমি কীভাবে ব্যবহারকারীদের ঘন্টা এবং মিনিট সময় দিতে পারি এবং এটি বিদ্যমান ঘন্টা মিনিটে যুক্ত করতে পারি।
ট্রান্সফর্মার

@ ট্রান্সফর্মার আপনি সংখ্যার বৈধতা থাকার জন্য ঘন্টা, মিনিট ইত্যাদির জন্য বিভিন্ন ইনপুট ক্ষেত্র দিতে পারেন।
xameeramir

5

আমি অনুভব করি যে এখানে বেশিরভাগ উত্তরগুলির মধ্যে একটি সৃজনশীল উপাদান নেই, সময় ভ্রমণের জন্য খুব প্রয়োজন needed আমি আমার সমাধানটি 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

সময়ের গণনার সাথে জড়িত কোয়ার্কগুলি পরিচালনা করতে পরিচিত একটি লাইব্রেরি ব্যবহার করুন। আমার বর্তমান প্রিয় moment.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
কোনও কারণ না দিয়ে যদি আপনি ডাউনটি করেন তবে উত্তরগুলি উন্নতি করতে পারে না।
আয়োবোরাস

ওপি একটি ফ্রেমওয়ার্ক / লাইব্রেরি নয়, একটি জাভাস্ক্রিপ্ট সমাধান চেয়েছিল।
mattpark22

2
@ mattpark22 আমি বুঝতে পারছি আপনি কী পাচ্ছেন, একটি জাভাস্ক্রিপ্ট লাইব্রেরি এখনও জাভাস্ক্রিপ্ট is আমি গ্রন্থাগারের কেবলমাত্র প্রাসঙ্গিক টুকরো টুকরো টুকরো করে কেটে দিতে পারি এবং কোড সমাধান হিসাবে সেগুলি উপস্থাপন করতে পারি। ওপির একটি উত্তর থাকবে যা জাভাস্ক্রিপ্ট ছিল, এই অর্থে যে আপনি এটি বোঝাচ্ছেন তবে এটি কোনও (সম্ভবত) গ্রহণযোগ্য, সাধারণ উদ্দেশ্য সমাধান সম্পর্কে অজানা। এছাড়াও, ৩০ মিনিট যোগ করা প্রায় তুচ্ছ হিসাবে উত্তর দেয় না কেন বেশিরভাগ উত্তর এটি শব্দ করে তোলে, কারণ ডেট অবজেক্ট দ্বারা পরিচালিত না হওয়া অনেকগুলি প্রান্তের কেস রয়েছে। উদাহরণস্বরূপ, ডিএসটি সীমানা অতিক্রম করার সময় সর্বাধিক জনপ্রিয় উত্তর বিরতি।
আয়োবোরাস

@ ওওবোরাস — লাইব্রেরিগুলিতে কেবলমাত্র ওপি বা ট্যাগগুলিতে কোনও লাইব্রেরি না চাইতে থাকলে লাইব্রেরি সরবরাহ করা উচিত নয়। অন্যথায়, উত্তরগুলি বিভিন্ন লাইব্রেরিতে কিছু করার কেবলমাত্র লিটানিতে পরিণত হতে পারে এবং ওপি তাদের আসল ইস্যুতে কোনও জ্ঞানী থাকে না (যা এই ক্ষেত্রে সমাধানের পক্ষে যথেষ্ট তুচ্ছ)।
রবজি

1
@ রবজি কারও পরামর্শ নেই যে কেবলমাত্র লাইব্রেরির সমাধান সরবরাহ করা উচিত। ওপি বিশেষত একটি লাইব্রেরির জন্য জিজ্ঞাসা করতে পারে না কারণ এটি প্রশ্নটি অফ-টপিক হতে পারে। "আমি জাভাস্ক্রিপ্ট দিয়ে এটি কীভাবে করব?" এটি জাভাস্ক্রিপ্টের সাথে সুনির্দিষ্ট বলে নির্দিষ্ট করা যেতে পারে (কোনও কাঁচা কোড সমাধান জিজ্ঞাসা করার বিপরীতে নির্দিষ্ট ভাষায় সমাধানের জন্য জিজ্ঞাসা করা হচ্ছে) বিশেষত প্রদত্ত শিরোনাম এবং ট্যাগগুলিতে পুনরাবৃত্তি করা হয়েছে।
ওওবোরাস

1

আমি লিখেছি মাত্র অন্য একটি বিকল্প:

ডিপি_ডেটএক্সটেনশন লাইব্রেরি

এটি আপনার প্রয়োজন সমস্ত তারিখের প্রক্রিয়াকরণ হলে ওভারকিল, তবে এটি আপনি যা চান তা করবে।

তারিখ / সময় বিন্যাস, তারিখ গণিত (যোগ / বিয়োগের তারিখের অংশগুলি), তারিখের তুলনা, তারিখ পার্সিং ইত্যাদি সমর্থন করে libe




1

(এমএস) সহ তারিখটি পেতে আপনার বর্তমান তারিখের মান পাওয়া উচিত এবং এটিতে (30 * 60 * 1000) যোগ করা উচিত। এখন আপনার কাছে এমএস সহ (বর্তমান তারিখ + 30 মিনিট) রয়েছে

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>

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.