Clojure:
দুটি তারিখ তুলনা করা

কীভাবে:

Clojure তারিখ নির্বাহের জন্য Java interop সুবিধাগুলি ব্যবহার করে। চলুন হাত গুটিয়ে ডুব দেই:

;; Java Date class ইম্পোর্ট করুন
(import java.util.Date)

;; দুটি তারিখের উদাহরণ তৈরি করুন
(def date1 (java.util.Date.))
(Thread/sleep 1000) ;; একটু অপেক্ষা করুন
(def date2 (java.util.Date.))

;; তারিখগুলি তুলনা করুন
(println (.before date1 date2)) ; সত্যি, date1 টি date2 এর আগে
(println (.after date1 date2))  ; মিথ্যা, date1 টি date2 এর পরে নয়
(println (.equals date1 date2)) ; মিথ্যা, date1 টি এবং date2 সমান নয়

নমুনা আউটপুট এইরকম দেখাবে, তবে সময়ের স্তম্ভগুলি ভিন্ন হবে:

সত্যি
মিথ্যা
মিথ্যা

গভীর ডাইভ

অতীতে, Clojure ডেভেলপাররা প্রায়ই Java-র Date ব্যবহার করতেন তারিখের অপারেশনের জন্য, আগে দেখানো dot অপারেটর ব্যবহার করে। বিকল্পগুলোর মধ্যে clj-time, একটি Clojure লাইব্রেরি যা Joda-Time উপর নির্ভর করে।

clj-time ব্যবহার করার একটি উদাহরণ এরকম হবে:

;; আপনার প্রজেক্ট ডিপেনডেন্সিতে clj-time যোগ করুন
(require '[clj-time.core :as time])
(require '[clj-time.coerce :as coerce])

;; দুটি তারিখ-সময়ের উদাহরণ তৈরি করুন
(def date-time1 (time/now))
(Thread/sleep 1000) ;; এক সেকেন্ড অপেক্ষা করুন
(def date-time2 (time/now))

;; clj-time ফাংশন ব্যবহার করে তুলনা করুন
(println (time/before? date-time1 date-time2)) ; সত্যি
(println (time/after? date-time1 date-time2))  ; মিথ্যা
(println (time/equal? date-time1 date-time2))  ; মিথ্যা

Clojure-র সময়ের উপর অবস্থান Java-র লাইব্রেরিগুলি ব্যবহার করা এবং clj-time জাভা-টাইমের সাথে ইন্টাগ্রেট করে একটি বেশি Clojure-ভাষ্যমূলক অভিজ্ঞতা প্রদান করে।

Java 8 থেকে, java.time প্যাকেজ—Joda-Time অনুপ্রাণিত—Java এবং অন্যান্য interop-এর মাধ্যমে Clojure-এ তারিখ এবং সময় নিয়ে কাজ করার জন্য পছন্দসই উপায় হয়ে উঠেছে। সময় অঞ্চলের মতো উন্নত ডিজাইন এবং অতিরিক্ত কার্যকারীতা java.time কে একটি শক্তিশালী পছন্দ করে তোলে।

আরো দেখুন