时间戳C++
时间: 2025-04-27 16:25:46 浏览: 42
### C++ 中的时间戳使用方法
#### 创建时间戳对象并获取当前时间
可以利用 `std::chrono` 库来创建表示当前时刻的时间点。
```cpp
#include <iostream>
#include <chrono>
int main() {
auto now = std::chrono::system_clock::now(); // 获取当前时间点
}
```
#### 将时间点转换为时间戳
通过调用 `to_time_t()` 方法可将上述获得的时间点转成标准库中的 `time_t` 类型,即传统意义上的 Unix 时间戳[^1]。
```cpp
time_t rawTime = std::chrono::system_clock::to_time_t(now);
std::cout << "Current TimeStamp is: " << rawTime << '\n';
```
#### 解析时间戳到本地时间结构体
为了更方便地处理时间和日期信息,通常会把时间戳解析回人类易读的形式。这可以通过 `localtime_s` 函数完成,在 POSIX 系统下则应使用 `localtime_r` 来替代以确保线程安全[^2]。
```cpp
struct tm localTm;
#ifdef _WIN32
localtime_s(&localTm, &rawTime);
#else
localtime_r(&rawTime, &localTm);
#endif
```
#### 格式化输出时间为字符串形式
最后一步就是按照需求定制化的格式化输出这些数据了。这里采用的是 ISO8601 的基本格式作为例子[^3]。
```cpp
char buffer[20];
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", &localTm);
std::cout << "Formatted Date and Time:" << buffer << "\n";
```
以上代码展示了如何在现代 C++ (C++11 及以后版本) 下操作时间戳,并将其转化为易于理解的文字表达方式。
阅读全文
相关推荐















