ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน mktime() ใน C++ STL
mktime() คืออะไร
ฟังก์ชัน mktime() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ฟังก์ชันนี้เหมือนกับการย้อนกลับของฟังก์ชัน localtime() ซึ่งแปลงอินพุตเป็นเขตเวลาท้องถิ่นของเครื่อง
ฟังก์ชันนี้จะแก้ไขค่าของ timeptr ของสมาชิกโดยอัตโนมัติหากอยู่นอกช่วงหรือมี tm_day และ tm_yday ซึ่งไม่อนุญาต
ไวยากรณ์
time_t mktime( struct tm* tptr );
พารามิเตอร์
ฟังก์ชันยอมรับพารามิเตอร์ต่อไปนี้ -
- tptr − ตัวชี้ไปยังโครงสร้างที่มีเวลาท้องถิ่น
คืนค่า
ฟังก์ชันนี้จะคืนค่า time_t ที่สอดคล้องกับ tptr
ตัวอย่าง
#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<<"Day on 25th September 1996 was "<<days[hold_ptr->tm_wday];
return 0;
} ผลลัพธ์
Day on 25th September 1996 was Wednesday