मुझे एक दूसरे से दो डेटाटाइम ऑब्जेक्ट्स घटाकर थोड़ा सा समस्या मिली है। मैं निम्नलिखित कोड का उपयोग करें:पर्ल डेटाटाइम घटाव समस्या
$today = DateTime->now(time_zone => 'Europe/Berlin');
my $dt1 = DateTime-> new (
year => 2011,
month => 08,
day => 08,
hour => 1,
minute => 0,
second => 4,
time_zone =>'Europe/Berlin'
);
print "DT1 : $dt1\n";
print "today: $today\n";
my $sub = $today->subtract_datetime($dt1);
print "sub days: ".$sub->days."\n";
DT1 और आज प्रिंट के लिए प्रिंट बयान:
DT1 : 2011-08-08T01:00:04
today: 2011-08-16T08:34:10
लेकिन अगर मैं घटाव के बाद प्रिंट $sub->days
मूल्य यह 1 के बजाय दिनों से पता चलता ।
क्या मुझे अपने घटाव में कोई त्रुटि है?
आपकी मदद के लिए बहुत धन्यवाद।
हाय एंडर्स, आपकी मदद के लिए बहुत बहुत धन्यवाद। – Stefan
काफी नहीं। 'delta_days' अभी भी सप्ताह और दिन लौटाता है, इसलिए आपको अभी भी' in_units' का उपयोग करने की आवश्यकता है। अंतर यह है कि यह महीनों वापस नहीं करेगा, जिसे दिनों में परिवर्तित नहीं किया जा सकता है। – ikegami
मैंने इसे जांचने के लिए किसी खंड के माध्यम से हल किया है: यदि $ sub-> सप्ताह> 0 तो $ days = $ sub-> सप्ताह * 7 + $ उप-> दिन – Stefan