سی زبان میں gettimeofday فنکشن کا استعمال کیسے کریں؟

How Use Gettimeofday Function C Language



کی آج کا وقت () فنکشن سسٹم کا گھڑی کا وقت حاصل کرتا ہے۔ موجودہ وقت گزرے سیکنڈ اور مائیکرو سیکنڈ میں 00:00:00 ، یکم جنوری 1970 (یونکس ایپوچ) کے بعد سے ظاہر ہوتا ہے۔ اس آرٹیکل میں ، ہم آپ کو دکھانے جا رہے ہیں کہ کیسے استعمال کریں۔ آج کا وقت () لینکس میں فنکشن تو ، آئیے شروع کریں۔

نحو۔

intآج کا وقت( ساختٹائم ویل*شہر، ساختٹائم زون*tz)

کی آج کا وقت () فنکشن کی وضاحت کی گئی ہے۔ sys/time.h ہیڈر فائل.







دلائل۔

یہ فنکشن دو دلائل لیتا ہے:



سینٹدلیل کی طرف اشارہ کرتا ہے ٹائم ویل ساخت کی ٹائم ویل ڈھانچہ ذیل میں بیان کیا گیا ہے۔ sys/time.h ہیڈر فائل:



ساختٹائم ویل{
time_t tv_sec؛ // سیکنڈ کے لیے استعمال کیا گیا۔
suseconds_t tv_usec؛ // مائیکرو سیکنڈ کے لیے استعمال کیا جاتا ہے۔
}

ساخت کا وقتی ڈھانچہ کیلنڈر وقت کی نمائندگی کرتا ہے۔ اس کے دو ارکان ہیں:





  • tv_sec : یہ زمانے کے بعد سے سیکنڈ کی تعداد ہے۔
  • tv_usec : یہ زمانے کے بعد سے سیکنڈ کے حساب کے بعد اضافی مائیکرو سیکنڈ ہے۔ .

2این ڈیدلیل کی طرف اشارہ کرتا ہے ٹائم زون ساخت اسے عام طور پر NULL پر سیٹ کیا جانا چاہیے کیونکہ۔ ساخت ٹائم زون متروک ہے یہ دلیل صرف پسماندہ مطابقت کے لیے ہے۔

اقدار واپس کریں۔

کامیابی پر ، آج کا وقت () واپسی 0 ، ناکامی کے لیے فنکشن ریٹرن -1۔



سادہ وقت حاصل کریں اور پرنٹ کریں۔

#شامل کریں
#شامل کریں

intمرکزی() {
ساختٹائم ویل کرنٹ ٹائم۔؛
آج کا وقت(&موجودہ وقت،خالی)؛
پرنٹ ایف (سیکنڈ:٪ ldnمائیکرو سیکنڈ:٪ ld '،
موجودہ وقت.tv_sec،موجودہ وقت.tv_usec)؛

واپسی ؛
}

آؤٹ پٹ:

یہاں ، sys/time.h کے لیے شامل کیا گیا ہے۔ آج کا وقت () فنکشن اور ٹائم ویل ڈھانچہ کی آج کا وقت () فنکشن ٹائم ویل (کرنٹ_ ٹائم) اسٹرکچر ممبر میں ٹائم سیٹ کرتا ہے۔ tv_sec سیکنڈ کی لازمی تعداد ہے جو کہ شروع ہونے کے بعد سے گزر چکا ہے۔ یونکس کا دور ، 1 جنوری 1970 کو آدھی رات UTC پر اور tv_usec tv_sec سے گزرنے والے مائیکرو سیکنڈ کی اضافی تعداد ہے۔ اگر آپ پروگرام چلاتے ہیں تو آپ کو آؤٹ پٹ دیکھنا چاہیے۔ ہر بار جب آپ پروگرام چلاتے ہیں تو آؤٹ پٹ بدل جائے گی۔

NULL دلیل کی خرابی۔

#شامل کریں
#شامل کریں

intمرکزی() {

ساختٹائم ویل کرنٹ ٹائم۔؛
آج کا وقت(خالی،خالی)؛
واپسی ؛
}

آؤٹ پٹ:

اس مثال میں ظاہر ہوتا ہے کہ کی پہلی دلیل۔ آج کا وقت () فنکشن NULL نہیں ہونا چاہیے۔ تالیف وارننگ آئے گی اگر پہلی دلیل NULL ہے۔

فارمیٹنگ موجودہ وقت کی مثال

#شامل کریں
#شامل کریں
#شامل کریں

intمرکزی() {
ساختوقتی ٹی وی؛
time_t t؛
ساختٹی ایم*معلومات؛
چاربفر[64۔]؛

آج کا وقت(&ٹی وی،خالی)؛
t=ٹی وی.tv_sec؛

معلومات= مقامی وقت (&t)؛
پرنٹ ایف ('٪ s'، وقت (معلومات))؛
strftime (بفر، کا سائزبفر، آج کا دن ہے٪ A،٪ B٪ dn'،معلومات)؛
پرنٹ ایف ('٪ s'،بفر)؛
strftime (بفر، کا سائزبفر، وقت ہے٪ I:٪ M٪ p۔n'،معلومات)؛
پرنٹ ایف ('٪ s'،بفر)؛

واپسی ؛
}

آؤٹ پٹ:

اس مثال میں دکھایا گیا ہے کہ تاریخ اور وقت کو مختلف شکل میں کیسے پرنٹ کیا جائے۔ کی واپسی کی قیمت سے تاریخوں کی نمائندگی کرنا بہت آسان نہیں ہے۔ آج کا وقت () فنکشن یہاں ، مقامی وقت () اور strftime () افعال کی واپسی کی قیمت کو اچھی طرح سے ظاہر کرنے کے لیے استعمال کیا جاتا ہے۔ آج کا وقت () .

کی مقامی وقت () فنکشن ایک دلیل لیتا ہے ، جو کہ ایک اشارے کا حوالہ ہے۔ tv_sec کا میدان ساخت کا وقت اور a کے پوائنٹر کا حوالہ لوٹاتا ہے۔ ڈھانچہ ٹی ایم چیز.

کی strftime () فنکشن ایک ذاتی نوعیت کا فارمیٹ تیار کرے گا جس میں تاریخ اور وقت دکھایا جائے گا۔ ڈھانچہ ٹی ایم اشارہ فارمیٹ وضاحتی فارمیٹ ڈسپلے کے لیے استعمال ہوتے ہیں۔ مثال کے طور پر ، فارمیٹ سٹرنگ٪ d-٪ m-٪ Y٪ H:٪ M:٪ S اس فارم میں تاریخ اور وقت بتاتا ہے:

04-14-2020 13:09:42

مندرجہ ذیل تبادلوں کی تفصیلات ہیں ، فارمیٹ ڈسپلے کے لیے استعمال کی جا سکتی ہیں۔

وضاحتی۔ مطلب۔
٪ سے موجودہ مقام کے مطابق ہفتے کے دن کا مختصر نام۔
٪ TO موجودہ مقام کے مطابق ہفتے کے دن کا نام۔
٪ b موجودہ مقام کے مطابق مختصر مہینے کا نام۔
٪ B موجودہ مقام کے مطابق پورے مہینے کا نام۔
٪ c موجودہ مقام کے لیے تاریخ اور وقت کی ترجیحی نمائندگی۔
٪ d مہینے کے دن کے لیے ایک اعشاریہ نمبر کے طور پر (رینج 01 - 31)۔
٪ H 24 گھنٹے (رینج 00-23) کو گھنٹہ تک بطور اعشاریہ نمبر استعمال کرنا۔
٪میں 12 گھنٹے (رینج 00-23) کو گھنٹہ تک بطور اعشاریہ نمبر استعمال کرنا۔
٪ j سال کے دن کے لیے ایک اعشاریہ نمبر کے طور پر (رینج 001-366)۔
٪ m مہینے کے لیے ایک اعشاریہ نمبر کے طور پر (رینج 01 - 12)۔
٪ M منٹ کی اعشاریہ تعداد۔
٪ p مقررہ وقت کی قدر کی بنیاد پر ، یا تو 'am' یا 'pm' یا موجودہ لوکل کے مساوی ڈور۔
٪ S سیکنڈ کا اعشاریہ نمبر۔
٪ ایکس موجودہ مقام کے لیے تاریخ کی ترجیحی نمائندگی ، لیکن وقت کے بغیر۔
٪ ایکس موجودہ مقام کے لیے وقت کی ترجیحی نمائندگی ، لیکن تاریخ کے بغیر۔
٪ اور سال اعشاریہ ہے لیکن کوئی صدی نہیں (رینج 00 - 99)۔
٪ اور سال صدی سمیت اعشاریہ ہے۔
٪ کے ساتھ ٹائم زون۔

پروگرام کے عملدرآمد کے وقت کی پیمائش کے لیے gettimeofday کا استعمال۔

#شامل کریں
#شامل کریں

intمرکزی() {

ساختوقت کا آغاز،ختم؛
آج کا وقت(&شروع کریں،خالی)؛

کے لیے (intمیں= ؛میں<1e5 ؛میں++۔) {
}

آج کا وقت(&ختم،خالی)؛
پرنٹ ایف (10^5 تک گننے میں لیا گیا وقت ہے:٪ ld مائیکرو سیکنڈ۔n'،
((ختمtv_sec * 1000000۔ +ختمtv_usec) -
(شروع کریںtv_sec * 1000000۔ +شروع کریںtv_usec)))؛

واپسی ؛
}

آؤٹ پٹ:

یہ مثال ظاہر کرتی ہے کہ کیسے۔ آج کا وقت () فنکشن کسی پروگرام کے عمل کے وقت کے حساب کے لیے استعمال کیا جا سکتا ہے۔

نتیجہ

اس طرح ، آج کا وقت () فنکشن لینکس میں استعمال کیا جا سکتا ہے۔ موجودہ کوڈ کو پورٹ کرنے کے لیے ، آج کا وقت () فنکشن استعمال کیا جا سکتا ہے لیکن نئے کوڈ میں اسے استعمال نہیں کیا جانا چاہیے۔ گھڑی کا وقت () فنکشن کے بجائے استعمال کیا جا سکتا ہے۔ آج کا وقت () .