স্ট্রিং থেকে তারিখ পার্স করা

Haskell:
স্ট্রিং থেকে তারিখ পার্স করা

কীভাবে:

হাসকেল বাক্স থেকে তারিখ পার্স করার জন্য মৌলিক টুলস অফার করে, তবে time লাইব্রেরির মতো কোর ফাংশনালিটি এবং date-parse বা time-parse মতো লাইব্রেরিগুলি ব্যবহার করে আরও নমনীয় পার্সিং সহজতর করা যেতে পারে।

প্রথমে, নিশ্চিত করুন যে আপনি time লাইব্রেরি পাওয়া যায়; এটি প্রায়শই GHC এর সাথে অন্তর্ভুক্ত থাকে, কিন্তু যদি আপনাকে এটি নির্ভরতা হিসেবে নির্দিষ্ট করতে হয়, তবে আপনার প্রজেক্টের ক্যাবাল ফাইলে time যোগ করুন বা cabal install time ব্যবহার করে এটি ম্যানুয়ালি ইনস্টল করুন।

import Data.Time.Format
import Data.Time.Clock
import System.Locale (defaultTimeLocale)

-- স্ট্যান্ডার্ড ফরম্যাটে একটি তারিখ পার্স করার জন্য time লাইব্রেরি ব্যবহার করা
parseBasicDate :: String -> Maybe UTCTime
parseBasicDate = parseTimeM True defaultTimeLocale "%Y-%m-%d" 

উদাহরণ ব্যবহার এবং আউটপুট:

main :: IO ()
main = print $ parseBasicDate "2023-04-01"

-- আউটপুট: Just 2023-03-31 22:00:00 UTC

আরও জটিল সিনারিওগুলির জন্য, যেখানে আপনাকে বহু ফরম্যাট বা লোকালগুলি সামলাতে হবে, date-parse মতো থার্ড-পার্টি লাইব্রেরিগুলি আরো সুবিধাজনক হতে পারে:

ধরুন আপনি date-parse আপনার নির্ভরতাগুলিতে যোগ করেছেন এবং ইনস্টল করেছেন, এখানে কীভাবে আপনি এটি ব্যবহার করতে পারেন:

import Data.Time.Calendar
import Text.Date.Parse (parseDate)

-- বহু ফরম্যাট সমর্থন করে এমন একটি তারিখ স্ট্রিং পার্স করা যা date-parse লাইব্রেরি দ্বারা করা হয়
parseFlexibleDate :: String -> Maybe Day
parseFlexibleDate = parseDate

date-parse ব্যবহারের উদাহরণ:

main :: IO ()
main = print $ parseFlexibleDate "April 1, 2023"

-- আউটপুট: Just 2023-04-01

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