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

C++ में सिस्टम टाइम प्रिंट करने के 3 अलग-अलग तरीके


पहला तरीका: C-स्टाइल time.h फंक्शन्स

time() - वर्तमान कैलेंडर समय ढूंढने के लिए उपयोग किया जाता है और समय संग्रहीत करने के लिए अंकगणितीय डेटा प्रकार है
localtime() - डेट और समय के साथ संरचना भरने के लिए उपयोग किया जाता है
asctime() - लोकल समय को मानव-पठनीय प्रारूप में बदलता है

प्रारूप: Day Month Date Hour:Minute:Second Year

उदाहरण

#include <iostream>
#include <ctime>  // डेट और समय के साथ काम करने के लिए
using namespace std;

int main() {
    time_t t;              // time() में आर्गुमेंट के रूप में पास किया गया t
    struct tm *tt;         // localtime() के लिए वेरिएबल घोषित
    time(&t);              // time() को आर्गुमेंट पास करना
    tt = localtime(&t);
    cout << "Current Day, Date and Time is = " << asctime(tt);
    return 0;
}

आउटपुट

Current Day, Date and Time is = Tue Jul 23 19:05:50 2019

दूसरा तरीका: C++11 Chrono लाइब्रेरी

Chrono लाइब्रेरी का उपयोग सेकंड, मिलीसेकंड, माइक्रोसेकंड और नैनोसेकंड में बीते समय को मापने के लिए किया जाता है।

उदाहरण

#include <chrono>
#include <ctime>
#include <iostream>
using namespace std;

int main() {
    auto now = chrono::system_clock::now();
    time_t tt = chrono::system_clock::to_time_t(now);
    cout << ctime(&tt) << endl;
    return 0;
}

आउटपुट

Tue Jul 23 19:05:50 2019

तीसरा तरीका: C-स्टाइल time() और ctime()

उदाहरण

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

int main() {
    time_t now = time(NULL);
    printf("%s", ctime(&now));  // ctime() दिया गया समय लौटाता है
    return 0;
}

आउटपुट

Tue Jul 23 20:14:42 2019

आधुनिक C++ (C++20) दृष्टिकोण

#include <chrono>
#include <format>
#include <iostream>
using namespace std;

int main() {
    auto now = chrono::system_clock::now();
    auto local = chrono::zoned_time{chrono::current_zone(), now};
    cout << format("{:%Y-%m-%d %H:%M:%S}", local) << endl;
    return 0;
}

तुलना

तरीका मानक सटीकता थ्रेड-सेफ टाइमज़ोन
time.h (ctime) C89/C++98 सेकंड नहीं (स्टैटिक बफर) लोकल
chrono + ctime C++11 नैनोसेकंड हां लोकल
chrono + format C++20 नैनोसेकंड हां कॉन्फ़िगरेबल

उच्च-सटीकता टाइमिंग

// बेंचमार्किंग के लिए
auto start = chrono::high_resolution_clock::now();
// ... कोड जिसे मापना है ...
auto end = chrono::high_resolution_clock::now();
auto duration = chrono::duration_cast<chrono::microseconds>(end - start);
cout << "Time: " << duration.count() << " microseconds" << endl;
  1. C/C++ में बर्कले का एल्गोरिथ्म C/C++ में बर्कले का एल्गोरिथ्म

    बर्कले का एल्गोरिथ्म वितरित प्रणालियों में क्लॉक सिंक्रोनाइज़ेशन के लिए उपयोग किया जाने वाला एक एल्गोरिथ्म है। यह एल्गोरिथ्म उन मामलों में उपयोग किया जाता है जब वितरित नेटवर्क के कुछ या सभी सिस्टम में निम्नलिखित समस्याएं होती हैं: A. मशीन के पास सटीक समय स्रोत नहीं है। B. नेटवर्क या मशीन के पास UTC

  1. C++ में बाइनरी ट्री प्रिंट करना C++ में बाइनरी ट्री प्रिंट करना

    मान लीजिए हमें एक बाइनरी ट्री को m×n 2D स्ट्रिंग सरणी में इन नियमों के आधार पर प्रदर्शित करना है: पंक्ति संख्या m दी गई बाइनरी ट्री की ऊंचाई के समान होनी चाहिए। स्तंभ संख्या n हमेशा एक विषम संख्या होनी चाहिए। रूट नोड का मान पहली पंक्ति के ठीक बीच में रखा जाना चाहिए जहां इसे रखा जा सकता है। वह स्तं

  1. सिस्टम क्लॉक तेज चलने की समस्या को 8 आसान तरीकों से ठीक करें सिस्टम क्लॉक तेज चलने की समस्या को 8 आसान तरीकों से ठीक करें

    सिस्टम क्लॉक तेज चलने की समस्या को ठीक करने के 8 प्रभावी तरीके यदि आपका सिस्टम क्लॉक सामान्य समय से 12-15 मिनट तेज चलता है और रीसेट करने के कुछ मिनट बाद फिर तेज हो जाता है, तो यह ओवरक्लॉकिंग, CMOS सेटिंग्स, या Windows Time सेवा में भ्रष्टाचार के कारण हो सकता है। कई बार मैलवेयर भी सिस्टम क्लॉक को प्र