用c++,通过time()函数获得计算机系统当前的日历时间,处理日期时间的函数是以本函数的返回值为基础进行运算
时间: 2024-11-03 09:18:26 浏览: 7
C/C++如何获取当前系统时间的实例详解
5星 · 资源好评率100%
在C++中,可以使用`<ctime>`库中的`time()`函数获取计算机系统的当前时间,这个函数会返回自1970年1月1日午夜(UTC/GMT零点)以来的秒数。通常我们会配合`<chrono>`库来更方便地操作和处理日期和时间。
首先,你需要包含必要的头文件:
```cpp
#include <iostream>
#include <ctime>
#include <chrono>
```
然后,你可以使用以下代码片段获取并处理当前时间:
```cpp
auto now = std::chrono::system_clock::now(); // 获取当前时间点
auto current_time = std::chrono::system_clock::to_time_t(now); // 转换为time_t类型
std::cout << "Current time in seconds since epoch: " << current_time << "\n";
// 如果需要以struct tm格式输出本地时间
std::tm local_time;
std::gmtime_s(&local_time, ¤t_time); // 转换为本地时间结构体
std::cout << "Local time: "
<< std::put_time(std::localtime(¤t_time), "%Y-%m-%d %H:%M:%S") << '\n';
```
这里,`std::put_time`用于格式化输出日期和时间。
如果你想对日期时间进行运算,例如加上或减去一定的时间间隔,可以使用`std::chrono::seconds`, `std::chrono::minutes`, 等类型,并结合相应的加法运算符`+`:
```cpp
std::chrono::hours offset(1); // 表示一个小时
std::chrono::time_point<std::chrono::system_clock> future_time = now + offset; // 加上一小时
```
阅读全文