Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Chrono Library ใน C++ สำหรับจัดการเวลา

ไลบรารี <chrono> ใน C++ ใช้สำหรับจัดการวันที่และเวลา โดยแยกแนวคิดระหว่าง Duration (ช่วงเวลา) และ Time Point (จุดเวลา) เพื่อความแม่นยำสูงและไม่ขึ้นกับระบบ

แนวคิดหลัก

  • Duration: แสดงช่วงเวลา เช่น 30 วินาที, 2 ชั่วโมง ประกอบด้วย count (จำนวน) และ period (หน่วยเวลา)
  • Time Point: จุดเวลาบนเส้นเวลา
  • Clock: นาฬิกา เช่น system_clock, steady_clock, high_resolution_clock

ตัวอย่างโค้ด

#include <iostream>
#include <chrono>
using namespace std;

int main() {
    using namespace std::chrono;

    // สร้าง duration 1000 มิลลิวินาที
    milliseconds mili(1000);
    mili = mili * 60; // คูณ 60 → 60,000 มิลลิวินาที

    cout << "Duration: " << mili.count() << " milliseconds.\n";

    // แปลงเป็นวินาที
    double seconds = mili.count() * milliseconds::period::num / milliseconds::period::den;
    cout << "Duration: " << seconds << " seconds.\n";

    return 0;
}

ผลลัพธ์

Duration: 60000 milliseconds.
Duration: 60 seconds.

การใช้งานทั่วไปเพิ่มเติม

// วัดเวลาการทำงานโค้ด
auto start = high_resolution_clock::now();
// ... โค้ดที่ต้องการวัด ...
auto end = high_resolution_clock::now();
auto duration = duration_cast(end - start);
cout << "Elapsed: " << duration.count() << " ms";