তারিখকে স্ট্রিং এ রূপান্তর করা

Clojure:
তারিখকে স্ট্রিং এ রূপান্তর করা

কিভাবে:

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

(import java.text.SimpleDateFormat)
(import java.util.Date)

;; একটি তারিখ অবজেক্ট তৈরি করুন (আসুন বর্তমান তারিখ এবং সময় ব্যবহার করি)
(def now (Date.))

;; কাঙ্খিত ফর্ম্যাট সেট আপ করুন
(def formatter (SimpleDateFormat. "yyyy-MM-dd HH:mm:ss"))

;; তারিখটি স্ট্রিং হিসাবে ফর্ম্যাট করুন
(def formatted-date (.format formatter now))

;; এটি প্রিন্ট করুন
(println formatted-date)
;; আউটপুট হবে: "2023-03-15 09:26:45" (বর্তমান তারিখ এবং সময়ের উপর নির্ভর করবে)

গভীরে ডুব দেওয়া

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

Clojure কারণ এটি জাভা ভার্চুয়াল মেশিন (JVM) এ চলে, আমরা সাধারণত java.util.Date এবং java.text.SimpleDateFormat এর মতো জাভার তারিখ এবং সময়ের লাইব্রেরিগুলি ব্যবহার করে থাকি। যদিও এই ক্লাসগুলি দীর্ঘস্থায়ী, নতুন java.time প্যাকেজ (জাভা 8 এ পরিচিত) আরও ভাল থ্রেড-সেফটি এবং আরও সহজবোধ্য API সহ একটি বিকল্প প্রস্তাব করে।

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

এখানে java.time ফর্ম্যাটিং ব্যবহার করার উপায়টি উপস্থাপিত হল:

(import java.time.LocalDateTime)
(import java.time.format.DateTimeFormatter)

;; একটি তারিখ অবজেক্ট তৈরি করুন (বর্তমান তারিখ এবং সময়)
(def now (LocalDateTime/now))

;; কাঙ্খিত ফর্ম্যাট সেট আপ করুন
(def formatter (DateTimeFormatter/ofPattern "yyyy-MM-dd HH:mm:ss"))

;; তারিখটি স্ট্রিং হিসাবে ফর্ম্যাট করুন
(def formatted-date (.format now formatter))

;; এটি প্রিন্ট করুন
(println formatted-date)
;; আগের মত আউটপুট পাওয়া যাবে, বর্তমান তারিখ এবং সময়ের সাথে

এই পদ্ধতি SimpleDateFormat এর সাথে উপস্থিত mutability সমস্যাগুলি এড়িয়ে চলে এবং থ্রেড-সেফটি একটি উদ্বেগ হলে নতুন কোডে প্রাধান্য পেতে হবে।

দেখুন