C++如何返回一个自当日00:00:00之后的毫秒数
时间: 2023-09-01 09:07:40 浏览: 50
在 C++ 中,可以使用 `chrono` 库来实现获取当前时间和计算时间差。以下是一个示例代码,返回自当日00:00:00之后的毫秒数:
```c++
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main() {
// 获取当前时间
auto now = system_clock::now();
// 转换为 time_t 类型
auto now_t = system_clock::to_time_t(now);
// 转换为 tm 结构体
auto now_tm = *localtime(&now_t);
// 设置为当日 00:00:00
now_tm.tm_hour = 0;
now_tm.tm_min = 0;
now_tm.tm_sec = 0;
// 转换为 time_t 类型
auto start_t = mktime(&now_tm);
// 计算时间差
auto diff = duration_cast<milliseconds>(now - system_clock::from_time_t(start_t));
// 输出毫秒数
std::cout << diff.count() << " milliseconds since 00:00:00" << std::endl;
return 0;
}
```
需要注意的是,这个代码是基于系统时钟的,如果系统时钟被修改了,结果可能会不准确。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)