c++如何获得系统时间
时间: 2023-10-18 10:19:30 浏览: 37
您可以使用C++标准库中的`<chrono>`头文件中的`system_clock`来获取系统时间。以下是一个简单的示例代码:
```c++
#include <iostream>
#include <chrono>
int main() {
// 获取当前时间的时间戳
auto current_time = std::chrono::system_clock::now().time_since_epoch();
// 将时间戳转换为秒数
auto seconds = std::chrono::duration_cast<std::chrono::seconds>(current_time).count();
// 输出当前时间的秒数
std::cout << "当前时间的秒数为:" << seconds << std::endl;
return 0;
}
```
在以上代码中,`std::chrono::system_clock::now()`会返回当前时间的时间戳,而`std::chrono::duration_cast<std::chrono::seconds>(current_time).count()`会将这个时间戳转换为秒数。
相关问题
c++ 获取当前时间
以下是两种C++获取当前时间的例子:
1.使用GetTickCount()函数获取当前时间,可精确到毫秒:
```cpp
#include <windows.h>
#include <iostream>
using namespace std;
int main(int argc, _TCHAR* argv[]) {
DWORD time_start, time_end;
/* 获取开始时间 */
time_start = GetTickCount(); //从操作系统启动经过的毫秒数
Sleep(3000);
time_end = GetTickCount();
cout << "Time = " << (time_end - time_start) << "ms\n ";
return 0;
}
```
2.使用GetLocalTime()函数获取当前时间,可精确到秒:
```cpp
#include <windows.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
SYSTEMTIME st = { 0 };
GetLocalTime(&st); //获取当前时间 可精确到ms
printf("%d-%02d-%02d %02d:%02d:%02d\n", st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
return 0;
}
```
c++ 获取系统时间
C++ 中获取系统时间可以使用 `<ctime>` 头文件中的 `time()` 函数。该函数返回从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的秒数。
以下是一个简单的示例代码:
```c++
#include <iostream>
#include <ctime>
int main() {
// 获取当前时间
std::time_t now = std::time(nullptr);
// 转换为本地时间
std::tm local_time = *std::localtime(&now);
// 输出时间
std::cout << "当前时间为:"
<< local_time.tm_year + 1900 << "-"
<< local_time.tm_mon + 1 << "-"
<< local_time.tm_mday << " "
<< local_time.tm_hour << ":"
<< local_time.tm_min << ":"
<< local_time.tm_sec << std::endl;
return 0;
}
```
在上面的示例代码中,我们使用了 `time()` 函数获取当前时间,然后使用 `localtime()` 函数将其转换为本地时间,最后输出时间。