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

时间:2014-08-05 10:33:14

标签: c++ time

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

所以我的代码就是......

time_t now = time(0);

tm* localtm = localtime(&now);
cout << "Current time : " << asctime(localtm) << endl;

我的程序会运行&#34;运行&#34;在几分钟内,每个循环+ 1分钟..

因此,假设有255个循环,它是255分钟..我将它存储在分钟。

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

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

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

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分: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;
    }

要编译此代码,您应该包括headrs chrono ctime。

您可以使用“秒(val),分钟(val),小时(val)等”

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