2010-11-16 11 views
11

मुझे 2 तिथियां पढ़ने और उनकी तुलना करने की आवश्यकता है।पर्ल में तिथियों की तुलना करने का सबसे अच्छा तरीका क्या है?

एक तिथि current_date (वर्ष, महीना, दिनांक) दूसरा व्यवसाय तर्क द्वारा निर्धारित किया जाता है। मुझे फिर 2 तिथियों की तुलना करने की आवश्यकता है और देखें कि कोई दूसरे से पहले है या नहीं।

मैं पर्ल में ऐसा कैसे कर सकता हूं?

मैं अच्छे दस्तावेज की तलाश में हूं, लेकिन मुझे पर्ल में इतने सारे डेट मॉड्यूल मिल रहे हैं। पता नहीं कौन सा इसके लिए उपयुक्त है।

+0

आपको इस [स्टैक-एक्सचेंज प्रस्ताव] में रुचि हो सकती है (http://area51.stackexchange.com/proposals/11464/code-review?referrer=aWNm_PdciyFqjFW8CUacGw2 "कोड समीक्षा")। यह बीटा शुरू करने के लिए लगभग तैयार है, बस कुछ और की जरूरत है। – greatwolf

उत्तर

18

सबसे लोकप्रिय तारीख मॉड्यूल में से एक DateTime जो कोने मामलों और तारीख गणित आसपास के अन्य मुद्दों के सभी संभाल लेंगे है।

यह लिंक जो प्रारंभ करने में मदद कर सकते हैं दिनांक समय के लिए एक सामान्य प्रश्न है:

रास्ता DateTime मॉड्यूल काम करता है कि आप अपनी तिथियाँ (संभवतः तार हो जाएगा जो) में परिवर्तित DateTime ऑब्जेक्ट्स में, जिसे आप कई DateTime विधियों में से किसी एक का उपयोग करके तुलना कर सकते हैं।

नीचे दिए गए उदाहरणों में, $dt1 और $dt2DateTime ऑब्जेक्ट्स हैं।

my $days = $dt1->delta_days($dt2)->delta_days; 

$cmp, -1, 0 या 1 है पर कि क्या $dt1 की तुलना में कम, के बराबर, या $dt2 तुलना में अधिक है निर्भर करता है:

$days दो तिथियों के बीच डेल्टा है।

my $cmp = DateTime->compare($dt1, $dt2); 
+11

दिनांक समय के बारे में कई अच्छी बातों में से एक यह पूर्ण ऑपरेटर ओवरलोडिंग है - जैसे आप 'अगर ($ DT1 <$ DT2) के रूप में दो दिनांक समय वस्तुओं की तुलना कर सकते हैं {...}' – Ether

27

दिनांकों हैं ISO-8601 (यानी, YYYY-MM-DD) और आप आप कोषगत तुलना कर सकते हैं (यानी, lt और gt ऑपरेटरों।)

आप तो उन्हें मान्य करने के लिए की जरूरत नहीं है, तिथियों को सत्यापित करने, तिथियों में हेरफेर करने, या गैर मानक स्वरूपों का विश्लेषण करने की आवश्यकता है - एक सीपीएएन मॉड्यूल का उपयोग करें। सर्वोत्तम, आईएमएचओ, DateTime और DateCalc हैं। Date-Simple भी बहुत अच्छा है।

अपनी यात्रा शुरू करने के लिए एक अच्छी जगह The Many Dates of Perl और DateTime site पढ़ने के लिए है।

संबंधित मुद्दे

 संबंधित मुद्दे