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, "আজকের তারিখ হলো %Y-%m-%d", timeinfo);
    printf("%s\n", buffer);

    return 0;
}

নমুনা আউটপুট এরকম দেখাবে:

আজকের তারিখ হলো 2023-04-12

গভীর ডুব

C তে সময় পরিচালনা, যা <time.h> দ্বারা সম্ভব হয়, ভাষার ও UNIX সিস্টেমের প্রাথমিক দিনগুলির দিকে রেফার করে। এটি time_t ডেটা টাইপের চারপাশে নির্মিত, যা বর্তমান সময়কে ইউনিক্স এপোকের (জানুয়ারি ১, ১৯৭০) থেকে সেকেন্ডের সংখ্যা হিসেবে প্রকাশ করে। এটি কার্যকর এবং বিশ্বব্যাপী সামঞ্জস্যপূর্ণ হলেও, এটি এও মানে যে time_t এর পরিসর এবং রেজোলিউশন দ্বারা স্ট্যান্ডার্ড C লাইব্রেরির সময় ফাংশনগুলি স্বাভাবিকভাবে সীমাবদ্ধ।

বর্তমান অ্যাপ্লিকেশনগুলি, বিশেষ করে যেগুলি উচ্চ-রেজোলিউশন টাইমস্ট্যাম্প বা অনেক দূরের বা অতীতের তারিখ নিয়ে কাজ করে, এই সীমাবদ্ধতাগুলি চ্যালেঞ্জিং খুঁজে পেতে পারে। উদাহরণ স্বরূপ, বছর ২০৩৮ সমস্যা একটি বিখ্যাত উদাহরণ যেখানে ৩২-বিট time_t ব্যবহার করা সিস্টেম গুলি ওভারফ্লো হবে।

আরও জটিল সময় এবং তারিখ পরিচালনার জন্য, অনেক প্রোগ্রামার বাইরের লাইব্রেরিগুলি বা অপারেটিং সিস্টেম দ্বারা প্রদত্ত কার্যকারিতাগুলির দিকে মুখ করে। যেমন, C++ এ, <chrono> লাইব্রেরি আরও নির্দিষ্ট এবং বহুমুখী সময় পরিচালনার ক্ষমতা প্রদান করে।

এর সীমাবদ্ধতাগুলি সত্ত্বেও, C এর সময় ফাংশনগুলির সাদাসিদে এবং সার্বজনীনতা অনেক অ্যাপ্লিকেশনের জন্য এদের একদম উপযুক্ত করে তোলে। এই টুলগুলি বুঝতে পারা C প্রোগ্রামারদের জন্য মৌলিক, যা প্রোগ্রামিং এর ঐতিহাসিক পরিপ্রেক্ষিত এবং প্রায়শই ব্যবহৃত কার্যকারিতা একটি মিশ্রণ উপস্থাপন করে।