perl - DateTime::subtract_datetime returns zero for difference in hours -


यहां एक न्यूनतम कामकाजी उदाहरण है:

  #! / Usr / bin / perl का उपयोग सख्त; चेतावनियों का उपयोग करें; दिनांक समय का उपयोग करें; मेरा $ अब = दिनांक समय- & gt; नया (दिन = & gt; 17, महीना = & gt; 10, वर्ष => 2014,); मेरी $ तारीख = दिनांक समय- & gt; नया (दिन => 3, महीने = & gt; 10, वर्ष => 2014,); मेरी $ डर = $ अब- & gt; घटाव_डेटाइम ($ तारीख); प्रिंट 'घंटे =', $ dur-> घंटे (), "\ n";  

जब मैं इसे अपने सर्वर पर चलाता हूँ तो मुझे यह मिलता है:

  hours = 0  

यह गलत है। सही उत्तर 14 दिन = 336 घंटे है।

कोड में क्या गलत है?

< P> सभी दिनों में 24 घंटे नहीं हैं, इसलिए 14 दिन हमेशा 336 घंटे नहीं होते हैं। यदि आप घंटों में अंतर चाहते हैं, तो आपको विशेष रूप से उस (या ऐसी कुछ चीज़ों के लिए पूछना होगा जो मिनटों में घंटों तक परिवर्तित हो सकता है) delta_ms ऐसा करने की विधि है।

  मेरे $ अब = दिनांक समय-> नया (दिन => 17, महीना = & gt; 10, वर्ष = & gt ; 2014,); मेरी $ तारीख = दिनांक समय- & gt; नया (दिन => 3, महीने = & gt; 10, वर्ष => 2014,); मेरी $ डर = $ अब- & gt; डेल्टा_एमएस ($ तारीख); प्रिंट 'घंटे =', $ dur- & gt; in_units ('घंटे'), "\ n";  

जो आपकी इच्छानुसार वापस करता है।

अधिक चर्चा के लिए देखें।


Comments

Popular posts from this blog

c# - SignalR: "Protocol error: Unknown transport." when navigating to hub -

class - Kivy: how to instantiate a dynamic classes in python -

java - Algorithm negotiation fail SSH in Jenkins -