সি ভাষায় gettimeofday ফাংশন কিভাবে ব্যবহার করবেন?

How Use Gettimeofday Function C Language



দ্য আজকের দিন () ফাংশন সিস্টেমের ঘড়ির সময় পায়। বর্তমান সময়টি অতিবাহিত সেকেন্ড এবং মাইক্রোসেকেন্ডে 00:00:00, 1 জানুয়ারি, 1970 (ইউনিক্স যুগ) থেকে প্রকাশ করা হয়। এই নিবন্ধে, আমরা আপনাকে কীভাবে ব্যবহার করতে হয় তা দেখাতে যাচ্ছি আজকের দিন () লিনাক্সে ফাংশন। চল শুরু করা যাক.

বাক্য গঠন

intgettimeofday( কাঠামোসময়কাল*শহর, কাঠামোসময় অঞ্চল*tz)

দ্য আজকের দিন () ফাংশন সংজ্ঞায়িত করা হয় sys/time.h হেডার ফাইল।







যুক্তি

এই ফাংশন দুটি যুক্তি নেয়:



1সেন্টযুক্তি নির্দেশ করে সময়কাল গঠন দ্য সময়কাল গঠন নীচে হিসাবে ঘোষণা করা হয় sys/time.h হেডার ফাইল:



কাঠামোসময়কাল{
time_t tv_sec; // সেকেন্ডের জন্য ব্যবহৃত
suseconds_t tv_usec; // মাইক্রোসেকেন্ডের জন্য ব্যবহৃত
}

কাঠামো সময়কাল কাঠামো একটি ক্যালেন্ডার সময় প্রতিনিধিত্ব করে। এর দুটি সদস্য রয়েছে:





  • tv_sec : এটি যুগের পর সেকেন্ডের সংখ্যা।
  • tv_usec : যুগের পর থেকে সেকেন্ডের গণনার পরে এটি অতিরিক্ত মাইক্রোসেকেন্ড। ।

2ndযুক্তি নির্দেশ করে সময় অঞ্চল গঠন এটি সাধারণত NULL এ সেট করা উচিত কারণ স্ট্রাক্ট টাইমজোন অপ্রচলিত। এই যুক্তি শুধুমাত্র পিছনের সামঞ্জস্যের জন্য।

মূল্য ফেরত

সাফল্যের উপর, আজকের দিন () return 0, ব্যর্থতার জন্য ফাংশন রিটার্ন -1।



সহজ সময় এবং মুদ্রণ পান

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান() {
কাঠামোসময়কাল বর্তমান_ সময়;
gettimeofday(&বর্তমান সময়,খালি);
printf ('সেকেন্ড: %ldnমাইক্রো সেকেন্ড: %ld ',
বর্তমান সময়.tv_sec,বর্তমান সময়.tv_usec);

প্রত্যাবর্তন 0;
}

আউটপুট:

এখানে, sys/time.h জন্য অন্তর্ভুক্ত করা হয়েছে আজকের দিন () ফাংশন এবং সময়কাল কাঠামো। দ্য আজকের দিন () ফাংশন টাইমভ্যাল (current_time) স্ট্রাকচার মেম্বারে সময় সেট করে। tv_sec হল সেকেন্ডের অবিচ্ছেদ্য সংখ্যা যা শুরু হওয়ার পর থেকে চলে গেছে ইউনিক্স যুগ , 1 জানুয়ারী, 1970 এ মধ্যরাতে ইউটিসি এবং tv_usec হল tv_sec থেকে অতিবাহিত মাইক্রোসেকেন্ড। আপনি যদি প্রোগ্রামটি চালান তবে আপনাকে আউটপুট দেখতে হবে। প্রতিবার আপনি প্রোগ্রামটি চালালে আউটপুট পরিবর্তন হবে।

নুল আর্গুমেন্ট ত্রুটি

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান() {

কাঠামোসময়কাল বর্তমান_ সময়;
gettimeofday(খালি,খালি);
প্রত্যাবর্তন 0;
}

আউটপুট:

এই উদাহরণে দেখায় যে এর প্রথম যুক্তি আজকের দিন () ফাংশন শূন্য হওয়া উচিত নয়। প্রথম যুক্তি শূন্য হলে সংকলন সতর্কতা আসবে।

ফরম্যাটিং বর্তমান সময়ের উদাহরণ

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান() {
কাঠামোটাইমভ্যাল টিভি;
সময়_ t;
কাঠামোটিএম*তথ্য;
গৃহস্থালিবাফার[64];

gettimeofday(&টেলিভিশন,খালি);
টি=টেলিভিশন.tv_sec;

তথ্য= স্থানীয় সময় (&টি);
printf ('%s', সময় (তথ্য));
strftime (বাফার, আকারবাফার, 'আজ %A, %B %d।n',তথ্য);
printf ('%s',বাফার);
strftime (বাফার, আকারবাফার, 'সময় হল %I: %M %p।n',তথ্য);
printf ('%s',বাফার);

প্রত্যাবর্তন 0;
}

আউটপুট:

এই উদাহরণে দেখানো হয়েছে কিভাবে বিভিন্ন বিন্যাসে তারিখ এবং সময় প্রিন্ট করতে হয়। এর রিটার্ন মান থেকে তারিখগুলি উপস্থাপন করা খুব সহজ নয় আজকের দিন () ফাংশন এখানে, স্থানীয় সময়() এবং strftime () ফাংশনগুলি সুন্দরভাবে রিটার্ন ভ্যালু উপস্থাপন করতে ব্যবহৃত হয় আজকের দিন ()

দ্য স্থানীয় সময়() ফাংশন একটি যুক্তি নেয়, যা একটি পয়েন্টার এর একটি রেফারেন্স tv_sec ক্ষেত্র কাঠামো সময়কাল এবং একটি একটি পয়েন্টার একটি রেফারেন্স প্রদান করে গঠন টিএম বস্তু

দ্য strftime () ফাংশন একটি ব্যক্তিগতকৃত, বিন্যাসিত স্ট্রিং তৈরি করবে যা থেকে তারিখ এবং সময় দেখাচ্ছে গঠন টিএম নির্দেশক ফরম্যাট স্পেসিফায়ার ফরম্যাট ডিসপ্লের জন্য ব্যবহার করা হয়। উদাহরণস্বরূপ, ফরম্যাট স্ট্রিং%d-%m-%Y%H:%M:%S এই ফর্মে তারিখ এবং সময় নির্দিষ্ট করে:

04-14-2020 13:09:42

নিম্নলিখিত রূপান্তর স্পেসিফায়ারগুলি, ফরম্যাট প্রদর্শনের জন্য ব্যবহার করা যেতে পারে:

স্পেসিফায়ার অর্থ
%প্রতি বর্তমান লোকাল অনুযায়ী সপ্তাহের দিনের সংক্ষিপ্ত নাম।
%প্রতি বর্তমান লোকাল অনুযায়ী সপ্তাহের দিনের নাম।
% খ বর্তমান স্থান অনুসারে সংক্ষিপ্ত মাসের নাম।
% বি বর্তমান লোকাল অনুযায়ী পুরো মাসের নাম।
% গ বর্তমান লোকেলের জন্য তারিখ এবং সময়ের পছন্দের উপস্থাপনা।
%d মাসের দিনের জন্য দশমিক সংখ্যা হিসাবে (পরিসর 01 - 31)।
%এইচ 24-ঘন্টা (পরিসীমা 00-23) ঘণ্টা থেকে দশমিক সংখ্যা হিসাবে ব্যবহার করা।
%আমি দশমিক সংখ্যা হিসাবে ঘন্টা থেকে 12 ঘন্টা (পরিসীমা 00-23) ব্যবহার করা।
%j বছরের দিনের জন্য দশমিক সংখ্যা হিসাবে (পরিসীমা 001-366)।
%মি মাসের দশমিক সংখ্যা হিসেবে (01 - 12 পরিসীমা)।
%মি মিনিটের দশমিক সংখ্যা।
%p নির্দিষ্ট সময় মানের উপর ভিত্তি করে, হয় 'am' বা 'pm' অথবা বর্তমান লোকেলের সমতুল্য স্ট্রিং।
%S দ্বিতীয়টির দশমিক সংখ্যা।
% এক্স বর্তমান লোকেলের জন্য তারিখের পছন্দসই উপস্থাপনা, কিন্তু সময় ছাড়াই।
% এক্স বর্তমান লোকেলের জন্য সময়ের পছন্দের প্রতিনিধিত্ব, কিন্তু তারিখ ছাড়া।
%এবং বছর দশমিক কিন্তু কোন শতাব্দী (00 - 99 এর পরিসীমা)।
%এবং বছর শতাব্দী সহ দশমিক।
%সঙ্গে সময় অঞ্চল।

প্রোগ্রাম এক্সিকিউশনের সময় পরিমাপ করার জন্য gettimeofday ব্যবহার করা

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান() {

কাঠামোসময়কাল শুরু,শেষ;
gettimeofday(&শুরু,খালি);

জন্য (intআমি= 0;আমি<1e5 ;আমি++) {
}

gettimeofday(&শেষ,খালি);
printf (10^5 গণনা করতে সময় লাগে: %ld মাইক্রো সেকেন্ডn',
((শেষ.tv_sec * 1000000 +শেষ.tv_usec) -
(শুরুtv_sec * 1000000 +শুরুtv_usec)));

প্রত্যাবর্তন 0;
}

আউটপুট:

এই উদাহরণ দেখায় যে কিভাবে আজকের দিন () একটি প্রোগ্রামের এক্সিকিউশন টাইম গণনার জন্য ফাংশন ব্যবহার করা যেতে পারে।

উপসংহার

এই ভাবে, আজকের দিন () ফাংশন লিনাক্সে ব্যবহার করা যেতে পারে। বিদ্যমান কোড পোর্ট করার জন্য, আজকের দিন () ফাংশন ব্যবহার করা যেতে পারে কিন্তু নতুন কোডে এটি ব্যবহার করা উচিত নয়। ক্লক_গেটটাইম () এর পরিবর্তে ফাংশন ব্যবহার করা যেতে পারে আজকের দিন ()