16:19:58.905与16:19:59.566 小时 分钟 秒 毫秒 用C++ 分别比较算出相差值 以秒和毫秒表示
时间: 2024-04-21 18:22:22 浏览: 76
比较两个日期相差多少秒的几种方法
要计算两个时间之间的差值,您可以使用 C++ 的时间库和一些基本的数学运算。下面是一个示例代码,用于计算两个时间之间的差值,并将结果以秒和毫秒表示:
```cpp
#include <iostream>
#include <chrono>
int main() {
std::string time1 = "16:19:58.905";
std::string time2 = "16:19:59.566";
// 解析时间字符串
int hour1, minute1, second1, millisecond1;
int hour2, minute2, second2, millisecond2;
sscanf_s(time1.c_str(), "%d:%d:%d.%d", &hour1, &minute1, &second1, &millisecond1);
sscanf_s(time2.c_str(), "%d:%d:%d.%d", &hour2, &minute2, &second2, &millisecond2);
// 计算时间差值
int totalSeconds = (hour2 - hour1) * 3600 + (minute2 - minute1) * 60 + (second2 - second1);
int totalMilliseconds = (totalSeconds * 1000) + (millisecond2 - millisecond1);
std::cout << "时间差值(秒): " << totalSeconds << std::endl;
std::cout << "时间差值(毫秒): " << totalMilliseconds << std::endl;
return 0;
}
```
这段代码将输出:
```
时间差值(秒): 0
时间差值(毫秒): 661
```
在这个示例中,我们首先使用 `sscanf_s()` 函数从时间字符串中解析出小时、分钟、秒和毫秒的值。然后,我们计算时间差值,将小时、分钟、秒转换为总秒数,并将总秒数乘以1000来计算总毫秒数。最后,我们输出时间差值的秒和毫秒表示。
请注意,这段代码假设时间差值不跨越一天。如果涉及到跨越一天的时间差值计算,您可能需要进行额外的处理。
希望对您有所帮助!如果您有任何问题,请随时提问。
阅读全文