ในบทความนี้ เราจะอภิปรายการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน mktime() ใน C++ STL
mktime() คืออะไร?
ฟังก์ชัน mktime() เป็นฟังก์ชันสำเร็จรูปใน C++ STL ซึ่งถูกกำหนดในไฟล์หัวข้อ <ctime> ฟังก์ชัน mktime() ใช้แปลงเวลาท้องถิ่น (local time) เป็นออบเจ็กต์ time_t
ฟังก์ชันนี้เหมือนกับฟังก์ชัน 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