C:
दो तारीखों की तुलना

कैसे:

C में तारीखों के लिए एक निर्मित प्रकार नहीं है, इसलिए time.h पुस्तकालय का उपयोग करना आवश्यक है जो तारीख और समय संरचनाओं के साथ काम करता है। tm संरचना और difftime() कार्य का सामान्य रूप से तारीखों की तुलना करने में उपयोग किया जाता है। नीचे दो तारीखों की तुलना करने का एक उदाहरण दिया गया है:

#include <stdio.h>
#include <time.h>

int main() {
    struct tm date1 = {0};
    struct tm date2 = {0};
    double seconds;

    // पहली तारीख (YYYY, MM, DD)
    date1.tm_year = 2023 - 1900; // 1900 से वर्ष
    date1.tm_mon = 3 - 1;        // महीना [0-11]
    date1.tm_mday = 15;          // महीने का दिन [1-31]

    // दूसरी तारीख (YYYY, MM, DD)
    date2.tm_year = 2023 - 1900;
    date2.tm_mon = 4 - 1;
    date2.tm_mday = 14;

    // time_t प्रारूप में परिवर्तित करें
    time_t time1 = mktime(&date1);
    time_t time2 = mktime(&date2);

    // तुलना करें
    seconds = difftime(time1, time2);

    if (seconds == 0) {
        printf("तारीखें समान हैं।\n");
    } else if (seconds > 0) {
        printf("पहली तारीख दूसरी तारीख के बाद आती है।\n");
    } else {
        printf("पहली तारीख दूसरी तारीख से पहले आती है।\n");
    }

    return 0;
}

उत्पादन हो सकता है:

पहली तारीख दूसरी तारीख से पहले आती है।

यह कार्यक्रम विशेष तारीखों के साथ दो tm संरचनाओं को प्रारंभ करता है, mktime() का उपयोग करके उन्हें time_t प्रारूप में परिवर्तित करता है, और अंत में difftime() का उपयोग कर उनकी तुलना करता है, जो दोनों समय के बीच के सेकंडों में अंतर (एक double के रूप में) लौटाता है।

गहराई से:

C के प्रारंभिक दिनों में, तारीख और समय संचालनों के लिए हाथ से गणना की आवश्यकता होती थी, अक्सर लीप वर्ष, महीनों के विभिन्न दिनों, और यहां तक कि लीप सेकंड को भी ध्यान में रखते हुए। time.h का ANSI C मानक में परिचय C में समय संचालन के लिए मानकीकरण लाया, तारीख और समय संचालनों को सरल बनाते हुए।

तारीखों की तुलना के लिए time.h का उपयोग सीधा है लेकिन इसमें सीमाएँ हैं। tm संरचना समय क्षेत्र या ग्रीष्मकालीन समय बचत को ध्यान में नहीं रखता है, और difftime() केवल सेकंडों में अंतर प्रदान करता है, कुछ अनुप्रयोगों के लिए अधिक सटीकता की कमी है।

समय क्षेत्रों, ग्रीष्मकालीन समय संक्रमण, और अधिक सटीक समय अंतरालों के लिए सहायता सहित, अधिक दृढ़ तारीख-समय संचालनों की आवश्यकता वाले अनुप्रयोगों के लिए, date.h (एक हॉवर्ड हिन्�न्�त तारीख �प�स्त�क�लय, मानक �प�स्त�क�लय का हिस्सा नहीं) जैसे पुस्तकालय time.h के लिए एक आधुनिक विकल्प प्रदान करते हैं। ये पुस्तकालय C++ में तारीख-समय में हेरफेर के लिए अधिक व्यापक उपकरण प्रदान करते हैं, प्रोग्रामिंग भाषा डिजाइन में दशकों के विकास से लाभपूर्वक। C प्रोग्रामरों के लिए, इन बाहरी पुस्तकालयों का लाभ उ�न�न�त �क�रना या सीधे तारीख-समय गणनाओं की जटिलताओं को सावधानीपूर्वक संभालना, सटीक और सांस्कृतिक रूप से जागरूक तारीख-समय में हेरफेर की उपलब्धि के लिए आवश्यक बना हुआ है।