c++中current_time
时间: 2023-12-10 21:38:17 浏览: 140
在C++中获取当前时间的方法有很多种,其中一种常用的方法是使用标准库函数 `std::chrono::system_clock::now()`,然后将其转换为时间戳或日期时间字符串。
以下是一个获取当前时间戳的示例代码:
```c++
#include <chrono>
#include <iostream>
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;
}
```
这段代码使用 `std::chrono::system_clock::now()` 获取当前时间,然后使用 `std::chrono::duration_cast<std::chrono::seconds>` 将时间转换为秒数,最后使用 `count()` 函数获取时间戳并打印出来。
如果你需要获取日期时间字符串,可以使用 `std::put_time()` 函数将时间格式化为字符串。以下是一个示例代码:
```c++
#include <chrono>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
int main() {
auto now = std::chrono::system_clock::now();
auto time_t_now = std::chrono::system_clock::to_time_t(now);
std::stringstream ss;
ss << std::put_time(std::localtime(&time_t_now), "%Y-%m-%d %H:%M:%S");
std::string datetime_str = ss.str();
std::cout << "Current datetime: " << datetime_str << std::endl;
return 0;
}
```
这段代码使用 `std::chrono::system_clock::to_time_t()` 将时间转换为 `std::time_t` 类型,然后使用 `std::put_time()` 将时间格式化为字符串。注意,这里使用了本地时间,如果需要使用 UTC 时间,可以使用 `std::gmtime()` 函数代替 `std::localtime()`。
阅读全文