溫馨提示×

c++獲取時間戳的方法有哪些

c++
小億
323
2024-03-07 15:05:26
欄目: 編程語言

在C++中獲取時間戳的方法通常有以下幾種:

  1. 使用標準庫中的time()函數(shù)來獲取當前系統(tǒng)時間的時間戳,返回的是從1970年1月1日0時0分0秒開始到現(xiàn)在的秒數(shù)。
#include <ctime>
#include <iostream>

int main() {
    time_t timestamp = time(nullptr);
    std::cout << "Current timestamp: " << timestamp << std::endl;
    return 0;
}
  1. 使用標準庫中的system_clock::now()函數(shù)來獲取當前系統(tǒng)時間的時間戳,返回的是從1970年1月1日0時0分0秒開始到現(xiàn)在的毫秒數(shù)。
#include <chrono>
#include <iostream>

int main() {
    auto timestamp = std::chrono::system_clock::now().time_since_epoch().count();
    std::cout << "Current timestamp: " << timestamp << std::endl;
    return 0;
}
  1. 使用操作系統(tǒng)提供的API來獲取時間戳,例如Windows系統(tǒng)可以使用GetSystemTime()函數(shù),Linux系統(tǒng)可以使用gettimeofday()函數(shù)等。
#include <iostream>
#include <windows.h>

int main() {
    SYSTEMTIME st;
    GetSystemTime(&st);
    FILETIME ft;
    SystemTimeToFileTime(&st, &ft);
    ULARGE_INTEGER ul;
    ul.LowPart = ft.dwLowDateTime;
    ul.HighPart = ft.dwHighDateTime;
    time_t timestamp = ul.QuadPart / 10000000ULL - 11644473600ULL;
    std::cout << "Current timestamp: " << timestamp << std::endl;
    return 0;
}

0