gettickcount 格式化 HH:SS:MM
时间: 2024-10-15 10:06:54 浏览: 20
Api格式化时间.rar
在Windows编程中,`GetTickCount()`函数返回自系统启动以来已经过去的毫秒数。如果你想将这个毫秒数格式化为"HH:MM:SS"的形式,你需要做一点计算。这里提供一个简单的示例,假设你已经有了一个名为`millis`的变量,存储了从`GetTickCount()`获取的毫秒值:
```cpp
#include <windows.h>
#include <iostream>
#include <sstream>
std::string formatTimeFromMilliseconds(unsigned long long millis) {
static const int TICKS_PER_SECOND = 1000;
static const int MINUTES_IN_HOUR = 60;
static const int HOURS_IN_DAY = 24;
// 转换为秒并取整
int seconds = (millis / TICKS_PER_SECOND);
// 计算分钟和小时
int minutes = seconds / MINUTES_IN_HOUR;
seconds %= MINUTES_IN_HOUR;
int hours = seconds / 60;
seconds %= 60;
// 创建一个stringstream来格式化时间
std::stringstream ss;
ss << std::setw(2) << std::setfill('0') << hours << ":" << std::setw(2) << std::setfill('0') << minutes << ":" << std::setw(2) << std::setfill('0') << seconds;
return ss.str();
}
int main() {
unsigned long long millis = GetTickCount();
std::string formatted_time = formatTimeFromMilliseconds(millis);
std::cout << "Formatted Time: " << formatted_time << std::endl;
return 0;
}
```
当你运行这个程序,它会显示从系统启动到现在过去了的"HH:MM:SS"形式的时间。
阅读全文