在C++中,计算Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数)的方法有多种。以下是两种常见的方法:
方法一:使用time()
函数和mktime()
函数
#include#include int main() { // 获取当前时间的秒数(Unix时间戳) time_t now = time(0); std::cout << "当前Unix时间戳:" << now << std::endl; // 将Unix时间戳转换为可读时间 struct tm *timeinfo = localtime(&now); char buffer[80]; strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeinfo); std::cout << "当前时间:" << buffer << std::endl; return 0; }
方法二:使用chrono
库
#include#include int main() { // 获取当前时间的秒数(Unix时间戳) auto now = std::chrono::system_clock::now(); std::time_t now_time = std::chrono::system_clock::to_time_t(now); std::cout << "当前Unix时间戳:" << now_time << std::endl; return 0; }
这两种方法都可以用于计算Unix时间戳。time()
函数和mktime()
函数更传统,而chrono
库提供了更现代和时间操作的方法。