温馨提示×

c++获取时间戳的方法有哪些

c++
小亿
415
2024-03-07 15:05:26
栏目: 编程语言

在C++中获取时间戳的方法通常有以下几种:

  1. 使用标准库中的time()函数来获取当前系统时间的时间戳,返回的是从1970年1月1日0时0分0秒开始到现在的秒数。
#include <ctime> #include <iostream> int main() { time_t timestamp = time(nullptr); std::cout << "Current timestamp: " << timestamp << std::endl; return 0; } 
  1. 使用标准库中的system_clock::now()函数来获取当前系统时间的时间戳,返回的是从1970年1月1日0时0分0秒开始到现在的毫秒数。
#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. 使用操作系统提供的API来获取时间戳,例如Windows系统可以使用GetSystemTime()函数,Linux系统可以使用gettimeofday()函数等。
#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