मैं सोच रहा था कि कोई अंतर्निर्मित पर्ल फ़ंक्शन है जो तिथि को समायोजित करता है यदि आप इससे एक महीने लेते हैं। जैसे यदि तिथि 31 है, तो यह पिछले महीने के अंत में समायोजित होगी यदि उसके पास 31 दिन नहीं हैं।पर्ल में महीने में अलग-अलग दिनों का खाता लेने के महीनों में वापस कैसे जाना है?
यदि मैं एक दूसरे के बाद 31 दिनों (दिसंबर/जनवरी, जुलाई/अगस्त) और फरवरी के महीनों के लिए नहीं था, तो मैं इसे 30 वें स्थान पर बदल सकता हूं। मैं बस तारीख को एक निश्चित मात्रा से वर्तमान तारीख से दूर करना चाहता हूं, उदा।
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$current_date = join("-", (1900+$year), ($mon+1), $mday);
$one_month_ago = join("-", (1900+$year), ($mon), $mday);
$one_year_ago = join("-", (1899+$year), ($mon+1), $mday);
मैं फरवरी उदाहरण के साथ सौदा कर सकते हैं, क्योंकि यह केवल वर्ष के लिए लागू होता है, लेकिन अगर यह 31 वें दिसंबर 2012 को लिया गया था तो एक महीने दूर ले मतलब होगा 31 वें नवंबर 2012, जो निश्चित रूप से मौजूद नहीं था। मैंने सोचा था कि अगर कोई खुद के लिए चीजें उलझी से पहले एक समारोह था मैं पूछना होगा ... धन्यवाद :)
[डेटटाइम] (https://metacpan.org/module/DateTime) शायद आप इस मॉड्यूल को खोज सकते हैं? (इसकी तारीख 'गणित है) – gaussblurinc
दोनों नीचे अच्छे जवाब! दिनांक समय वास्तव में उपयोगी विकल्प की तरह दिखता है, लेकिन जैसा कि मैं इसे अपने कोड के एक छोटे से हिस्से के लिए उपयोग करना चाहता हूं, मुझे लगता है कि मैं बस इसमें डुबकी लगा सकता हूं और इसके लिए क्लॉज का एक गुच्छा बना सकता हूं। लंबे समय तक घुमाया गया, लेकिन यह मुझे सीखने में मदद करेगा ... यह मेरा पहला दिन पर्ल का उपयोग कर रहा है: पी आपकी मदद के लिए धन्यवाद! – dgBP