वर्तमान तारीख प्राप्त करना

C:
वर्तमान तारीख प्राप्त करना

कैसे:

C में, <time.h> हैडर दिनांकों और समयों के साथ काम करने के लिए आवश्यक कार्यों और प्रकारों को प्रदान करता है। time() कार्य वर्तमान समय को प्राप्त करता है, जबकि localtime() इस समय को स्थानीय समय क्षेत्र में परिवर्तित करता है। दिनांक प्रदर्शित करने के लिए, हम इसे स्ट्रिंग के रूप में स्वरूपित करने के लिए strftime() का उपयोग करते हैं।

यहां एक बुनियादी उदाहरण है:

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

int main() {
    char buffer[80];
    time_t rawtime;
    struct tm *timeinfo;

    // वर्तमान समय प्राप्त करें
    time(&rawtime);
    // इसे स्थानीय समय में परिवर्तित करें
    timeinfo = localtime(&rawtime);
    
    // दिनांक को स्वरूपित करें और प्रिंट करें
    strftime(buffer, 80, "Today's date is %Y-%m-%d", timeinfo);
    printf("%s\n", buffer);

    return 0;
}

नमूना आउटपुट इस तरह दिख सकता है:

Today's date is 2023-04-12

गहराई से:

C में समय प्रबंधन, जैसा कि <time.h> द्वारा सुविधाजनक किया गया है, भाषा और UNIX सिस्टम्स के सबसे पुराने दिनों की ओर इशारा करता है। इसका निर्माण time_t डेटा प्रकार के आसपास किया गया है, जो यूनिक्स Epoch (जनवरी 1, 1970) के बाद से सेकंडों में वर्तमान समय का प्रतिनिधित्व करता है। जबकि यह कुशल और सार्वभौमिक रूप से संगत है, इसका यह भी मतलब है कि मानक C लाइब्रेरी के समय कार्यों को time_t की सीमा और संकल्पना द्वारा स्वाभाविक रूप से सीमित किया जाता है।

आधुनिक अनुप्रयोगों, विशेष रूप से उन्हें जो उच्च-संकल्प टाइमस्टैम्प्स की आवश्यकता होती है या भविष्य या अतीत में दूर की तारीखों से निपटते हैं, इन सीमाओं को चुनौतीपूर्ण पाएंगे। उदाहरण के लिए, वर्ष 2038 की समस्या एक प्रसिद्ध उदाहरण है जहां 32-बिट time_t का उपयोग करने वाले सिस्टम ओवरफ्लो होंगे।

अधिक जटिल समय और दिनांक हैंडलिंग के लिए, कई प्रोग्रामर्स बाहरी लाइब्रेरियों या ऑपरेटिंग सिस्टम द्वारा प्रदान की गई कार्यक्षमताओं की ओर मुड़ते हैं। C++ में, उदाहरण के लिए, <chrono> लाइब्रेरी अधिक सटीक और बहुमुखी समय प्रबंधन क्षमताओं की पेशकश करती है।

इसकी सीमाओं के बावजूद, C के समय कार्यों की सादगी और सर्वव्यापकता उन्हें कई अनुप्रयोगों के लिए बिलकुल उपयुक्त बनाती है। इन उपकरणों को समझना C प्रोग्रामर्स के लिए मौलिक है, जो ऐतिहासिक प्रोग्रामिंग संदर्भ और व्यावहारिक, दैनिक उपयोगिता का मिश्रण प्रदान करता है।