王鹿其 发表于 2023-12-25 21:03:57

c++问题

如何用c++获取当前时间,并和已经规定的时间做比较,对超没有超过规定时间作出判断

FishC 发表于 2023-12-25 21:04:08

要获取当前时间并与规定的时间进行比较,可以使用 C++ 中的时间日期库 `<ctime>` 和结构体 `tm`。下面是一个示例代码:

#include <iostream>
#include <ctime>

int main() {
    // 获取当前系统时间
    time_t now = time(0);
    tm* localTime = localtime(&now);

    // 设置规定的时间
    tm specifiedTime;
    specifiedTime.tm_year = 2022 - 1900; // 年份减去1900
    specifiedTime.tm_mon = 9 - 1;      // 月份减去1
    specifiedTime.tm_mday = 1;         // 日

    // 比较当前时间和规定时间
    if (difftime(mktime(localTime), mktime(&specifiedTime)) < 0) {
      std::cout << "还没到规定的时间!" << std::endl;
    } else {
      std::cout << "已经到达规定的时间!" << std::endl;
    }

    return 0;
}

在上面的代码中,我们首先使用 `time()` 函数获取当前系统时间,并使用 `localtime()` 函数将其转换为本地时间(`tm` 结构体类型)。然后,我们手动设置了规定的时间(`specifiedTime`)的年、月和日。最后,我们使用 `mktime()` 函数将 `tm` 结构体转换为 `time_t` 类型,并使用 `difftime()` 函数比较当前时间和规定时间。如果当前时间早于规定时间,则输出“还没到规定的时间!”;反之,输出“已经到达规定的时间!”。

请注意,以上代码仅用于演示目的,您需要根据实际需求进行修改和扩展。此外,为了获得更精确的时间信息,您可能需要使用更高级的时间处理库,如 Boost 或 C++20 中的 `<chrono>` 库。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: c++问题