ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน 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