के साथ तारीखों को घटाकर मैं बस रूबी पर एक नज़र डाल रहा हूं और तारीख/समय की चीज़ के साथ खेल रहा था।रूबी
irb(main):001:0> jamis_DOB = Time.mktime(2003, 10, 22, 06, 59)
=> Wed Oct 22 06:59:00 +0300 2003
irb(main):002:0> age = Time.now - jamis_DOB
=> 222934108.172989
irb(main):005:0> age_in_years = (((age/3600)/24)/365).to_i
=> 7
तो मेरी उदाहरण अगर वहाँ लीप वर्ष के रूप में उन वर्षों से जोड़ रहे हैं पता नहीं होगा AGE_IN_YEARS के रूप में बहुत अच्छा नहीं है। मैं कुछ googled समय/तारीख ट्यूटोरियल के माध्यम से किया गया है और दो तारीखों को घटाने और इसे एक साल, महीनों, दिन आदि ... प्रारूप में वापस करने का एक आसान तरीका नहीं मिला है। मुझे लगता है कि रूबी में इस तरह की चीज़ के लिए एक ऐड-ऑन या कुछ अंतर्निहित है। क्या कोई मुझे बता सकता है कि यह क्या है? (साथ ही, भविष्य में संदर्भ के लिए इस प्रकार की चीज़ों के उत्तर कैसे प्राप्त करें?)
धन्यवाद।
धन्यवाद थियो :) आपका 3 सुझाव मुझे ऐसा करने के लिए प्रेरित ... की आवश्यकता होती है ' तारीख ' date_now = Date.today जन्म तिथि = Date.civil (2003, 10, 22) अगर date_now.month> dob.month उम्र = date_now.year - dob.year elsif date_now.month == जन्म तिथि .month && date_now.day> dob.day उम्र = date_now.year - dob.year बाकी उम्र = (date_now.year - dob.year) - 1 अंत अंत प्रिंट "सही उम्र है:", आयु, "\ n" मैं वास्तव में आपके दूसरे सुझाव को वास्तव में समझ नहीं सका और ऐसा लगता है कि इसके साथ खेलने के लिए 1.9 चल रहा है। – Leke
हां, आप सही हैं, आखिरी उदाहरण में महीने और दिन को भी ध्यान में रखना है। मध्य उदाहरण लूप में प्रत्येक मोड़ के लिए केवल एक वर्ष का कदम उठाता है और मोड़ों की गणना करता है। मैंने इसे थोड़ा और सही करने के लिए बदल दिया है। – Theo
मुझे इस बात के बारे में काफी उलझन में आ रहा था कि रूबी हमेशा मेरी तिथि घटाने के बाद '/ 1' क्यों लौट रही थी, जैसा कि ऊपर वर्णित परिणाम पर' to_i' करना महत्वपूर्ण था, ताकि मूल्य को कई दिनों के रूप में प्राप्त किया जा सके। – waffl