c++linux时间戳获取打印及标准时间转换程时间戳
时间: 2023-12-20 16:03:58 浏览: 26
获取当前时间戳并打印:
```c++
#include <iostream>
#include <chrono>
int main() {
std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
std::chrono::duration<int64_t> timestamp = now.time_since_epoch();
std::cout << "Timestamp: " << timestamp.count() << std::endl;
return 0;
}
```
将标准时间转换成时间戳:
```c++
#include <iostream>
#include <chrono>
#include <ctime>
int main() {
std::tm tm_time = {};
tm_time.tm_year = 2019 - 1900; // year since 1900
tm_time.tm_mon = 11 - 1; // month 0-11
tm_time.tm_mday = 1; // day of month 1-31
tm_time.tm_hour = 0; // hour since midnight 0-23
tm_time.tm_min = 0; // minute after the hour 0-59
tm_time.tm_sec = 0; // seconds after the minute 0-60
std::time_t time = std::mktime(&tm_time);
std::chrono::system_clock::time_point tp = std::chrono::system_clock::from_time_t(time);
std::chrono::duration<int64_t> timestamp = tp.time_since_epoch();
std::cout << "Timestamp: " << timestamp.count() << std::endl;
return 0;
}
```
将时间戳转换成标准时间:
```c++
#include <iostream>
#include <chrono>
#include <ctime>
int main() {
std::chrono::duration<int64_t> timestamp(1572566400); // timestamp in seconds
std::chrono::system_clock::time_point tp(timestamp);
std::time_t time = std::chrono::system_clock::to_time_t(tp);
std::tm tm_time = *std::localtime(&time);
std::cout << "Standard time: " << std::put_time(&tm_time, "%Y-%m-%d %H:%M:%S") << std::endl;
return 0;
}
```