ভবিষ্যত বা অতীতের তারিখ গণনা করা

Clojure:
ভবিষ্যত বা অতীতের তারিখ গণনা করা

কিভাবে:

Clojure এ, আপনি মূলত তারিখ অপারেশানের জন্য clj-time লাইব্রেরি ব্যবহার করবেন। এখানে একটি দ্রুত ডেমো দেওয়া হল:

(require '[clj-time.core :as time])
(require '[clj-time.coerce :as coerce])
(require '[clj-time.periodic :as periodic])

;; বর্তমান তারিখে ৫ দিন যোগ করা 
(let [now (time/now)
      five-days (time/plus now (time/days 5))]
  (str "এখন থেকে পাঁচ দিন: " (coerce/to-string five-days)))

;; একটি নির্দিষ্ট তারিখ থেকে ১০ দিন বাদ দেওয়া
(let [specific-date (coerce/to-date-time "2023-03-01T12:00:00.000Z")
      ten-days-ago (time/minus specific-date (time/days 10))]
  (str "১ মার্চ, ২০২৩ এর আগের দশ দিন: " (coerce/to-string ten-days-ago)))

নমুনা আউটপুট:

"এখন থেকে পাঁচ দিন: ২০২৩-০৩-২৩T০৮:০০:০০.০০০Z"
"১ মার্চ, ২০২৩ এর আগের দশ দিন: ২০২৩-০২-১৯T১২:০০:০০.০০০Z"

গভীরে যাওয়া:

প্রারম্ভিক দিনগুলিতে, কোডাররা জাভার Date এবং Calendar ক্লাসগুলি ব্যবহার করতেন। কিন্তু, আসুন সৎ হই, তারা একটি বিরক্তি - বাচাল ও ভুলের প্রবণ। clj-time লাইব্রেরি কিছুটা হলেও সাহস যুগিয়েছে, যেটা Joda-Time’s ডেভেলপার-ফ্রেন্ডলি API কে ঘিরে রেখেছে।

কোনো বিকল্প? জাভা ৮ তে java.time (JSR-310) চালু করা হয়, যা বেশ ভালো, কিন্তু Clojure’s এর বিশ্বে, আমরা এখনো clj-time এর সাথে আরামদায়ক।

তারিখ গণনা করার সময়, আপনি “দিন” এবং “মাস” এর মতো ধারণাগুলির জন্য পিরিয়ড এবং নির্দিষ্ট মিলিসেকেন্ড গণনার জন্য সময়কাল ব্যবহার করেন। মনে রাখবেন সময় অঞ্চল - তারিখ এবং সময় সময় অঞ্চলের নিয়ম অনুসারে নাটকীয়ভাবে পরিবর্তন হতে পারে, এবং ডেলাইট সেভিং টাইম (DST) আপনার কাজে বাধা দিতে পারে।

আরও দেখুন