কম্পিউটার

জাভাস্ক্রিপ্ট তারিখ অবজেক্ট:তারিখ তুলনা কিভাবে

কোডিং সমস্যাগুলি সমাধান করার সময় আমরা একটি জিনিস করতে পারি তা হল তারিখ ও সময়ের তুলনা করার জন্য তারিখ অবজেক্ট ব্যবহার করুন শর্তসাপেক্ষে আমাদের কোডে নির্দিষ্ট যুক্তি রেন্ডার করতে। কোনটি পরবর্তী (বা আগের) তারিখ তা দেখতে দুটি তারিখের তুলনা করার জন্য এই নিবন্ধটি কীভাবে তারিখ অবজেক্ট ব্যবহার করতে হয় তা দেখে নেয়।

সেটআপ

জাভাস্ক্রিপ্টে একটি অন্তর্নির্মিত তারিখ অবজেক্ট রয়েছে যা আমরা টাইমস্ট্যাম্পের উপর ভিত্তি করে যুক্তিবিদ্যা করতে আমাদের সহায়তা করতে সক্ষম পদ্ধতিগুলি অ্যাক্সেস করতে ব্যবহার করতে পারি। এটি সেট আপ করতে, নিম্নলিখিত কোডিং করে একটি নতুন তারিখ ইনস্ট্যান্ট করুন:

const date = new Date("09-20-2020"); //2020-09-20T07:00:00.000Z

আপনি যদি console.log(date) ইনপুট করতেন , সময় (T এর পরে সাবস্ট্রিং) ডিফল্টরূপে আপনি কোথায় থাকেন তার উপর ভিত্তি করে আলাদা হবে। আপনি যদি UTC সময় নিয়ে কাজ করতে চান, তাহলে Z সরিয়ে দিন এবং +HH:MM যোগ করুন অথবা -HH:MM পরিবর্তে.

আমরা পরবর্তী বিভাগে আমাদের তুলনা ফাংশন নিয়ে কাজ করার সময় এটি কীভাবে সেট আপ করতে হয় তা জানা গুরুত্বপূর্ণ।

এর পরে, তারিখ কনস্ট্রাক্টর ব্যবহার করার সময় আমাদের দেওয়া পদ্ধতিগুলি দেখুন। এরকম একটি পদ্ধতি হল getTime() . আমরা আমাদের তারিখ অবজেক্টকে একটি সংখ্যায় পরিবর্তন করতে এই পদ্ধতিটি ব্যবহার করি যাতে এটি সহজেই তুলনা করা যায়।

এই বিশেষ পদ্ধতিটি যুগ শুরু হওয়ার পর থেকে তারিখটিকে মিলিসেকেন্ডের সংখ্যায় রূপান্তরিত করে (যুগটি 1 জানুয়ারী, 1970 এ শুরু হয়েছিল)। এখানে আমাদের getTime পদ্ধতি:

const date = new Date("09-20-2020")
   date.getTime(); //1600585200000

যেহেতু তারিখটি একটি নতুন তারিখ অবজেক্ট হিসাবে সূচিত হয়েছে, আমরা getTime ফাংশন অ্যাক্সেস করতে ডট নোটেশন ব্যবহার করতে পারি।

আমি আপনার যুক্তির জন্য তারিখ অবজেক্টে ব্যবহার করতে পারেন এমন সমস্ত বিভিন্ন ধরণের পদ্ধতির জন্য ডকুমেন্টেশন পরীক্ষা করার পরামর্শ দিচ্ছি। আমরা এখন আমাদের প্রম্পট মোকাবেলা করার জন্য প্রস্তুত।

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগদানের পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।

প্রম্পট

দুটি স্ট্রিং এবং একটি তুলনা অপারেটর দেওয়া, একটি তারিখ ফেরত দিন যা প্রদত্ত অপারেটরের উপর সবচেয়ে কম বা সবচেয়ে বেশি নির্ভরশীল। এটি নিশ্চিত যে দুটি পাস করা স্ট্রিং একটি তারিখ অবজেক্টে রূপান্তরিত হতে পারে।

সমাধানের ধাপগুলি

  1. নতুন তারিখ অবজেক্টে দুটি স্ট্রিং পরিবর্তন করুন। আপনার তারিখ কনস্ট্রাক্টরে প্যারামিটারগুলি কীভাবে পাস করবেন তা তদন্ত করতে ভুলবেন না!
  2. getTime() ব্যবহার করুন 1 জানুয়ারী, 1970 সাল থেকে অতিবাহিত হওয়া অনেক মিলিসেকেন্ড তৈরি করার পদ্ধতি৷
  3. উত্তীর্ণ তুলনা অপারেটর দ্বারা নির্দেশিত হিসাবে প্রয়োজনীয় তারিখটি বের করতে একটি শর্তসাপেক্ষ বিবৃতি বা টারনারি ব্যবহার করুন৷
  4. মিলিসেকেন্ডকে একটি পঠনযোগ্য তারিখ স্ট্রিংয়ে রূপান্তর করুন এবং এটি ফেরত দিন।

সমাধান উল্লেখ করার আগে আপনার নিজের উপর এটি সমাধান করার চেষ্টা করুন!

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <style>
    body {
      font-family: 'Roboto', Courier, monospace
    }
  </style>
</head>
<body>
  <h1>Date Comparison</h1>
    <label for="comparison">Comparison (Choose One)</label>
    <div id="comparison" value="more.value">
      <input name="compare" type="radio" id="less" value=""/>
          <label for="less"> &lt; </label>
      <input name="compare" type="radio" id="more" checked value=""/>
          <label for="more"> &gt;= </label>
    </div>
 <br/>
    <label for="date-1">Date 1:</label>
    <input id="date-1" value="" type="date" name="date1" />
    <label for="date-2">Date 2:</label>
    <input id="date-2" value="" type="date" name="date2" />
    <input id="submit-button" type="submit" />
    <div id="demo"></div>
    <script>
        const handleSubmit = (date1, date2, compare) => {
        //to compare : getTime of each date
        date1Arr = date1.split("-");
        date2Arr = date2.split("-");
              //year, month (month is zero-based), day
        let d1 = new Date(date1Arr[0], date1Arr[1] - 1, date1Arr[2]).getTime();
        let d2 = new Date(date2Arr[0], date2Arr[1] - 1, date2Arr[2]).getTime();
        // getTime gets the number of milliseconds since Jan 1 1970. So the higher the number, the later the date.
        //use conditional or ternary to return Comparison
        let timeDisplay;
        if(compare === ">=") {
              timeDisplay = d1 >= d2 ? d1 : d2;
        } else {
              timeDisplay = d1 < d2 ? d1 : d2;
        }
        let timetoDisplay = new Date(timeDisplay);  
        document.getElementById("demo").innerHTML = timetoDisplay.toDateString();
    }
    let date_1 = document.getElementById("date-1");
    let date_2 = document.getElementById("date-2");
    document.getElementById("submit-button").addEventListener("click", (e) => handleSubmit(date_1.value, date_2.value, more.checked ? '>=' : '<'))
    </script>
  </body>
</html>

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

একবার আপনার এটির উপর একটি হ্যান্ডেল হয়ে গেলে, আমি সাজেস্ট করব কিভাবে আইটেমগুলিকে অ্যারেতে যোগ করার তারিখ অনুসারে বাছাই করা যায়, আরোহী বা অবতরণ। মজা আছে এবং এটা রাখা!


  1. জাভাস্ক্রিপ্টে তারিখগুলি কীভাবে তুলনা করবেন?

  2. জাভাস্ক্রিপ্টে একটি তারিখ অবজেক্ট কিভাবে তৈরি করবেন?

  3. কিভাবে C# এ দুটি তারিখ তুলনা করবেন?

  4. জাভাতে দুটি তারিখের তুলনা কিভাবে?