如何在 C++ 中使用 <chrono> 库来获取当前时间?
时间: 2024-09-11 10:02:11 浏览: 51
在C++中,您可以使用 `<chrono>` 库来获取当前时间,具体是通过 `std::chrono::system_clock` 类型来实现的。下面是一个使用 `<chrono>` 库获取当前时间的基本示例:
```cpp
#include <iostream>
#include <chrono>
#include <ctime>
int main() {
// 获取当前时间点
auto now = std::chrono::system_clock::now();
// 将时间点转换为time_t,以便用C API处理
std::time_t now_c = std::chrono::system_clock::to_time_t(now);
// 输出时间信息,使用标准C库的ctime函数
std::cout << "当前时间: " << std::ctime(&now_c);
return 0;
}
```
以上代码首先使用 `std::chrono::system_clock::now()` 获取当前的时间点对象。然后,它将这个时间点对象转换为 `std::time_t` 类型,这是为了使用标准C库中的时间函数。最后,`std::ctime` 函数用于将 `std::time_t` 对象转换为易读的本地时间字符串。
相关问题
c++ chrono获取当前时间
要获取当前时间,可以使用chrono库中的system_clock类的静态成员函数now()。以下是获取当前时间的示例代码:
```cpp
#include <iostream>
#include <chrono>
int main() {
std::chrono::system_clock::time_point currentTime = std::chrono::system_clock::now();
std::time_t currentTime_t = std::chrono::system_clock::to_time_t(currentTime);
std::cout << "Current time: " << std::ctime(¤tTime_t) << std::endl;
return 0;
}
```
这段代码中,我们使用now()函数获取当前时间的时间点,然后使用to_time_t()函数将时间点转换为std::time_t类型,最后使用std::ctime()函数将std::time_t类型的时间转换为可读格式并打印出来。
C++中如何获取当前时间?
以下是两种在C++中获取当前时间的方法:
1. 使用std::time()函数获取当前时间戳:
```cpp
#include <iostream>
#include <ctime>
int main() {
std::time_t now = std::time(nullptr);
std::cout << "Current timestamp: " << now << std::endl;
return 0;
}
```
2. 使用std::chrono::system_clock::now()函数获取当前时间戳:
```cpp
#include <iostream>
#include <chrono>
int main() {
auto now = std::chrono::system_clock::now();
auto timestamp = std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch()).count();
std::cout << "Current timestamp: " << timestamp << std::endl; return 0;
}
```
阅读全文