C sana va vaqt
Vaqt va sana
C tilida sana va vaqt bilan ishlash uchun <time.h> sarlavha faylidan foydalanishingiz mumkin.
Bu kutubxona joriy vaqtni olish, uni formatlash va vaqtga oid hisob-kitoblarni bajarish imkonini beradi.
Joriy vaqtni olish
<time.h> kutubxonasida sana va vaqtni o‘lchash uchun turli funksiyalar mavjud.
Masalan, time() funksiyasi joriy vaqtni time_t tipidagi qiymat sifatida qaytaradi.
Vaqtni o‘qiladigan stringga, masalan, "Mon Jun 24 10:15:00 2025" ko‘rinishiga aylantirish uchun ctime() funksiyasidan foydalanishingiz mumkin:
Misol
#include <stdio.h>
#include <time.h>
int main() {
time_t currentTime;
time(¤tTime); // Get the current time
printf("Current time: %s", ctime(¤tTime));
return 0;
}
Vaqtni qismlarga ajratish
Agar sana yoki vaqtning alohida qismlariga — masalan, yil, oy yoki soatga — murojaat qilmoqchi bo‘lsangiz, localtime() funksiyasidan foydalanishingiz mumkin.
Bu funksiya joriy vaqtni (time() qaytargan qiymatni) struct tm tipiga o‘tkazadi — bu sana va vaqtni alohida maydonlarda saqlaydigan maxsus struktura.
Joriy sana va vaqtning har bir qismini chiqarish uchun undan quyidagicha foydalanishingiz mumkin:
Misol
#include <stdio.h>
#include <time.h>
int main() {
time_t now = time(NULL); // Get current time
struct tm *t = localtime(&now); // Convert to local time structure
printf("Year: %d\n", t->tm_year + 1900); // Add 1900 to get the actual year
printf("Month: %d\n", t->tm_mon + 1); // Months are numbered from 0 to 11, so add 1 to match real month numbers (1-12)
printf("Day: %d\n", t->tm_mday);
printf("Hour: %d\n", t->tm_hour);
printf("Minute: %d\n", t->tm_min);
printf("Second: %d\n", t->tm_sec);
return 0;
}
Eslatma: tm_year maydoni 1900-yildan beri o‘tgan yillar sonini saqlaydi, shuning uchun to‘liq yilni olish uchun 1900 ni qo‘shamiz. tm_mon esa 0 dan boshlanadi (ya’ni 0 = yanvar, 11 = dekabr).
Eslatma: Biz -> operatoridan foydalanamiz, chunki localtime() struct tm strukturasiga ko‘rsatkich qaytaradi.
Strukturalar va ko‘rsatkichlar bobida bilib olganingizdek: agar sizda structga ko‘rsatkich bo‘lsa, uning a’zolariga murojaat qilish uchun -> operatoridan foydalaning. Nuqta . operatoridan esa faqat strukturaning o‘zi bilan ishlayotganingizda foydalaning, unga ko‘rsatkich bilan emas.
Sana va vaqtni formatlash
Sana va vaqtni string ko‘rinishida formatlash uchun strftime() funksiyasidan foydalanishingiz mumkin:
Misol
#include <stdio.h>
#include <time.h>
int main() {
time_t now = time(NULL);
struct tm *t = localtime(&now);
char buffer[100];
strftime(buffer, sizeof(buffer), "%d-%m-%Y %H:%M:%S", t);
printf("Formatted time: %s\n", buffer);
return 0;
}
Sana va vaqtdan qachon foydalanish kerak
C tilida sana va vaqtdan quyidagi hollarda foydalaning:
- Joriy vaqt yoki sanani ko‘rsatish
- Xatolar yoki foydalanuvchi harakatlari kabi hodisalarni jurnalga yozish
- Fayllar yoki xabarlarga vaqt belgisini qo‘shish
- Biror ish qancha vaqt olishini o‘lchash
- Amallarni rejalashtirish yoki kechiktirish
- Tasodifiy sonlar uchun boshlang‘ich qiymat (seed) berish (har safar ishga tushirganda turli natijalar olish uchun)
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
