स्ट्रिंग से तारीख पार्स करना

Haskell:
स्ट्रिंग से तारीख पार्स करना

कैसे:

आउट ऑफ द बॉक्स, हास्केल तारीखों को पार्स करने के लिए मूल उपकरण प्रदान करता है, लेकिन time जैसे पुस्तकालयों का उपयोग मूल कार्यक्षमता के लिए और date-parse या time-parse जैसे पुस्तकालयों का उपयोग अधिक लचीले पार्सिंग के लिए कार्य को काफी सरल बना सकता है।

पहले, सुनिश्चित करें कि आपके पास time पुस्तकालय उपलब्ध है; यह अक्सर GHC के साथ शामिल होता है, लेकिन अगर आपको इसे निर्भरता के रूप में निर्दिष्ट करने की आवश्यकता हो तो, अपनी परियोजना की कैबल फाइल में time जोड़ें या cabal install time का उपयोग करके इसे मैन्युअली इंस्टॉल करें।

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

-- समय पुस्तकालय का उपयोग करके एक मानक प्रारूप में तारीख को पार्स करना
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 जैसे तृतीय-पक्ष समाधान के लिए चयन आपके अनुप्रयोग की विशिष्ट आवश्यकताओं पर निर्भर करता है, जैसे कि आपको संभालने की आवश्यकता वाले इनपुट प्रारूपों की श्रेणी।