Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में दो दी गई तारीखों के बीच दिनों की संख्या ढूंढना


इस समस्या में, हमें दो सरणी date1[] और date2 दी जाती हैं जिनमें 3 पूर्णांक होते हैं जो तारीखों के DD-MM-YYYY को दर्शाते हैं। हमारा कार्य दो दी गई तारीखों के बीच दिनों की संख्या ढूंढना है।

आइए एक उदाहरण से समस्या को समझते हैं,

इनपुट

date1[] = {13, 3, 2021}, date2[] = {24, 5, 2023}

आउटपुट

802

व्याख्या

अंतर 2 वर्ष, 2 महीने (3 - 5) और 11 दिन है।

2*356 + (30 + 31) + 11 = 802

समाधान दृष्टिकोण

इस समस्या का एक सरल समाधान लूपिंग द्वारा है, प्रारंभ तिथि date1 से date2 तक शुरू करके दिनों की संख्या गिनना। और मान वापस करना। यह दृष्टिकोण ठीक है, लेकिन एक अधिक कुशल दृष्टिकोण हो सकता है।

कुशल दृष्टिकोण

समस्या का एक अधिक कुशल दृष्टिकोण दोनों तारीखों date1[] और date2[] तक के कुल दिनों की गिनती करना है। और फिर दोनों के बीच निरपेक्ष अंतर परिणाम देता है।

date1[] से 01/01/0000 तक के दिनों की संख्या गिनने के लिए।

वर्ष

वर्ष date1[2] के पहले दिन तक के दिनों की संख्या

दिनों की संख्या = 365*(वर्ष) + लीप वर्ष की संख्या

महीना

महीने के पहले दिन तक के दिनों की संख्या के लिए। महीना सरणी से गिनें।

दिनों की संख्या = monthDays[date[1]]।

monthDays महीने की पहली तारीख तक के कुल दिनों को स्टोर करेगा।

तारीख

दिनों की संख्या।

इन सभी का योग date1[] तक के दिनों की गिनती देता है। गिनती के बीच का अंतर परिणाम है।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला प्रोग्राम,

उदाहरण

#include <iostream> #include <math.h> using namespace std; const int monthDays[12] = { 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }; int countLeapYearDays(int d[]){    int years = d[2];    if (d[1] <= 2)       years--;    return ( (years / 4) - (years / 100) + (years / 400) ); } int countNoOfDays(int date1[], int date2[]){    long int dayCount1 = (date1[2] * 365);    dayCount1 += monthDays[date1[1]];    dayCount1 += date1[0];    dayCount1 += countLeapYearDays(date1);    long int dayCount2 = (date2[2] * 365);    dayCount2 += monthDays[date2[1]];    dayCount2 += date2[0];    dayCount2 += countLeapYearDays(date2);    return ( abs(dayCount1 - dayCount2) ); } int main(){    int date1[3] = {13, 3, 2021};    int date2[3] = {24, 5, 2023};    cout<<"The number of days between two dates is "<<countNoOfDays(date1, date2);    return 0; }

आउटपुट

The number of days between two dates is 802

  1. - PHP में दो तिथि सीमाओं के बीच प्रत्येक सप्ताह के दिनों की संख्या ज्ञात करने का प्रोग्राम

    दो दी गई तिथि सीमाओं के बीच सप्ताह के प्रत्येक दिन (सोमवार से रविवार) की घटनाओं की गणना करने के लिए PHP में DateTime क्लास और strtotime() फ़ंक्शन का उपयोग किया जा सकता है। उदाहरण 0 ); $start = new DateTime($start); $end = new DateTime($end); while ($start modify(+1 day); } print_r(The number of

  1. - PHP में दो दी गई तिथियों के बीच कुल दिनों की संख्या ज्ञात करने का प्रोग्राम

    PHP में date_diff() फ़ंक्शन दो तिथियों के बीच का अंतर ज्ञात करने का सबसे सरल और मानक तरीका है। यह एक बिल्ट-इन फ़ंक्शन है जो DateInterval ऑब्जेक्ट लौटाता है, जिससे दिनों, महीनों, वर्षों आदि का अंतर आसानी से प्राप्त किया जा सकता है। उदाहरण format(The day difference is: %R%a days); ?> आउटपुट The d

  1. - दो दी गई तारीखों के बीच दिनों की संख्या ढूंढने के लिए पायथन प्रोग्राम

    दो तारीखों के बीच दिनों की संख्या ढूंढने के लिए, हम पायथन datetime मॉड्यूल का उपयोग कर रहे हैं। सबसे पहले, आवश्यक लाइब्रेरी इम्पोर्ट करें: from datetime import date डेट ऑब्जेक्ट बनाएं और उन तारीखों को इनपुट करें जिनसे आप दिनों की गणना करना चाहते हैं: date1 = date(2021, 7, 20) date2 = date(2021, 8