如何使用tm结构将分钟添加到当前时间?

Joh*_*ohn 2 c++ time

目前我正在尝试将分钟添加到当前时间,但我该如何做呢?我阅读了一些教程,但仍然不知道该怎么做.

所以我的代码去..

time_t now = time(0);

tm* localtm = localtime(&now);
cout << "Current time : " << asctime(localtm) << endl;
Run Code Online (Sandbox Code Playgroud)

我的程序将在几分钟内"运行",每个循环+ 1分钟..

所以假设有255个循环,它是255分钟..我将它存储在分钟.

我尝试以这种方式添加它,但时间与当前时间保持一致.

localtm->tm_min + Minute;
mktime (localtm);
cout << "End of program time : " << asctime(localtm) << endl;
Run Code Online (Sandbox Code Playgroud)

我想知道我该怎么做.有人可以帮忙吗?

Har*_*n R 6

int main()
{
    time_t now = time(0);

    size_t Minutes = 255;

    time_t newTime = now + (60 * Minutes);

    struct tm tNewTime;
    memset(&tNewTime, '\0', sizeof(struct tm));
    localtime_r(&newTime, &tNewTime);

    cout << asctime(&tNewTime) << endl;
}
Run Code Online (Sandbox Code Playgroud)


小智 5

C++ 11:

int main(int argc,char* argv[])
    {
        std::chrono::system_clock::time_point  time_now = 
                                                      std::chrono::system_clock::now();
        time_now += std::chrono::hours(10);
        time_t c_time_format = std::chrono::system_clock::to_time_t(time_now);
        std::string str_time = std::ctime(& c_time_format);
        std::cout<<str_time<<std::endl;
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

要编译此代码,您应该包含headrs chrono ctime.

你可以使用"秒(val),分钟(val),小时(val)等"

如有任何问题,您可以访问以下网址:http: //www.cplusplus.com/reference/chrono/system_clock/