Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm mktime() trong C++ STL.
mktime() là gì?
mktime() là hàm tích hợp sẵn trong C++ STL, được định nghĩa trong header <ctime>. mktime() dùng để chuyển đổi thời gian cục bộ (local time) thành đối tượng time_t.
Hàm này giống như hàm ngược của localtime(), hàm localtime() chuyển đổi đầu vào thành múi giờ cục bộ của máy.
Hàm này tự động sửa đổi các giá trị của thành viên timeptr nếu chúng nằm ngoài phạm vi hoặc có tm_day và tm_yday không được phép.
Cú pháp
time_t mktime( struct tm* tptr );
Tham số
Hàm chấp nhận tham số sau:
- tptr - Con trỏ đến cấu trúc chứa thời gian cục bộ.
Giá trị trả về
Hàm trả về giá trị time_t tương ứng với tptr.
Ví dụ
#include <bits/stdc++.h>
using namespace std;
int main() {
time_t hold;
tm* hold_ptr;
char days[7][20] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
int year = 1996;
int month = 9;
int day = 25;
time(&hold);
hold_ptr = localtime(&hold);
hold_ptr->tm_year = year - 1900;
hold_ptr->tm_mon = month - 1;
hold_ptr->tm_mday = day;
mktime(hold_ptr);
cout << "Ngày 25 tháng 9 năm 1996 là " << days[hold_ptr->tm_wday];
return 0;
}
Kết quả
Ngày 25 tháng 9 năm 1996 là Wednesday