تاریخ و زمان (Date)
در C با هدر <time.h> کار می کنیم. «تاریخ و زمان» برای نمایش، ثبت رویداد، و زمان سنجی کاربرد دارد.
گرفتن زمان فعلی
تابع time() زمان فعلی را به نوع time_t می دهد. سپس با ctime() آن را خوانا چاپ کن.
#include <stdio.h>
#include <time.h>
int main() {
time_t currentTime;
time(¤tTime);
printf("Current time: %s", ctime(¤tTime));
return 0;
}
شکستن زمان به اجزاء
با localtime() یک struct tm می گیری. سپس سال، ماه، روز و ساعت را جدا چاپ کن.
#include <stdio.h>
#include <time.h>
int main() {
time_t now = time(NULL);
struct tm *t = localtime(&now);
printf("Year: %d\n", t->tm_year + 1900);
printf("Month: %d\n", t->tm_mon + 1);
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;
}
نکته: مقدار tm_year از 1900 شمرده می شود. همچنین tm_mon از صفر شروع می شود.
فرمت دهی تاریخ و زمان
با strftime() رشته ی قالب دار بساز. الگو را با درصدها تنظیم کن.
#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;
}
کاربردهای رایج تاریخ و زمان
نمایش زمان، ثبت لاگ، زمان سنجی عملیات، و بذر اعداد تصادفی کاربردی هستند.
نکته: برای گرفتن ورودی درست به اعتبارسنجی ورودی رجوع کن. برای تولید تصادفی، بخش اعداد تصادفی را ببین.
گام های عملی سریع
- با time() زمان فعلی را بگیر.
- با ctime() یا strftime() چاپ کن.
- با localtime() اجزاء تاریخ را بخوان.
جمع بندی سریع
- time.h ابزار تاریخ و زمان است.
- time() زمان خام را می دهد.
- localtime() اجزاء را جدا می کند.
- strftime() خروجی را قالب دهی می کند.