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

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

कैसे:

PowerShell अपने Get-Date cmdlet और [datetime] type एक्सेलेरेटर के साथ स्ट्रिंग से तारीख पार्स करना सरल बनाता है, जो कि मानक तिथि प्रारूपों के लिए अच्छी तरह से काम करता है। जटिल या गैर-मानक तिथि स्ट्रिंग के लिए, [datetime]::ParseExact विधि का उपयोग करके सटीक प्रारूप निर्दिष्ट किया जा सकता है।

Get-Date और [datetime] का उपयोग करना:

# Get-Date का उपयोग करके सरल रूपांतरण
$stringDate = "2023-04-01"
$date = Get-Date $stringDate
echo $date

नमूना आउटपुट:

शनिवार, अप्रैल 1, 2023 12:00:00 AM
# टाइप एक्सेलेरेटर [datetime] का उपयोग करना
$stringDate = "April 1, 2023"
$date = [datetime]$stringDate
echo $date

नमूना आउटपुट:

शनिवार, अप्रैल 1, 2023 12:00:00 AM

गैर-मानक प्रारूपों के लिए [datetime]::ParseExact का उपयोग करना:

स्वतः पहचाने जाने वाले प्रारूपों के बाहर, आप सही पार्सिंग सुनिश्चित करने के लिए सटीक प्रारूप निर्धारित कर सकते हैं।

$stringDate = "01-04-2023 14:00"
$format = "dd-MM-yyyy HH:mm"
$culture = [Globalization.CultureInfo]::InvariantCulture
$date = [datetime]::ParseExact($stringDate, $format, $culture)
echo $date

नमूना आउटपुट:

शनिवार, अप्रैल 1, 2023 2:00:00 PM

तृतीय-पक्ष पुस्तकालयों का उपयोग करना

हालांकि PowerShell स्वयं तारीख पार्सिंग के लिए काफी शक्तिशाली है, बहुत जटिल परिदृश्यों या अतिरिक्त कार्यक्षमता के लिए, आप .NET पुस्तकालयों जैसे कि NodaTime की खोज कर सकते हैं, हालांकि कई विशिष्ट उपयोग के मामलों के लिए, PowerShell की मूल क्षमताएं पर्याप्त होंगी।

# NodaTime का उपयोग केवल एक चित्रण के रूप में, ध्यान दें कि आपको पुस्तकालय को अपनी परियोजना में जोड़ने की आवश्यकता है
# Install-Package NodaTime -Version 3.0.5
# एक तारीख पार्स करने के लिए NodaTime का उपयोग करना
[string]$stringDate = "2023-04-01T14:00:00Z"
[NodaTime.Instant]::FromDateTimeUtc([datetime]::UtcNow)
[NodaTime.LocalDate]$localDate = [NodaTime.LocalDate]::FromDateTime([datetime]::UtcNow)
echo $localDate

नमूना नोट: उपरोक्त कोड एक अवधारणात्मक चित्रण है। व्यवहार में, सुनिश्चित करें कि NodaTime प्रकारों और विधियों को उपलब्ध कराने के लिए आपकी परियोजना में सही ढंग से जोड़ा गया है।