c++ - 以 24 小时格式表示的两次时间之间耗时 hh :mm:ss

标签 c++ time strtok elapsed

嘿,谢谢你的光临。我只是不想说如果有人以前遇到过这个问题我很抱歉。

我花了几个小时在论坛和谷歌上搜索类似的问题,但到目前为止还没有成功。

我对这个程序的意图是打印出两个时间之间耗时,格式为 24 小时制。

截至目前,我想我只是想将经过的第一个和第二个“hh”转换为正确的 24 时间,但无法理解如何计算分钟和秒。

我非常感谢任何指导,这真的很有帮助。干杯。

    int main()
    {
        char time1[ 48 ] = "14:48:34";
        char time2[ 48 ] = "02:18:19";

        int hour1;
        int min1;
        int sec1;

        int hour2;
        int min2;
        int sec2;

        int seconds;
        int temp;

        //time1
        hour1 = atoi( strtok( time1, ":" ) );
        min1 = atoi( strtok( NULL, ":" ) );
        sec1 = atoi( strtok( NULL, ":" ) );

        //time2
        hour2 = atoi( strtok( time2, ":" ) );
        min2 = atoi( strtok( NULL, ":" ) );
        sec2 = atoi( strtok( NULL, ":" ) );

        seconds = hour1 * 60 * 60; //convert hour to seconds
        ...

        system("PAUSE");
        return 0;
    }

最佳答案

不要区分小时、分钟和秒。将这两个时间都转换为自午夜以来的秒数,然后计算它们之间的差值。然后转换回 hh:mm:ss。

顺便说一句:time.h 中有结构体和函数这可以提供帮助。

关于c++ - 以 24 小时格式表示的两次时间之间耗时 hh :mm:ss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25284581/

相关文章:

php - php中不同时区的时间戳

C编程strtok问题

c++ - 如何将 C++ 枚举与 UnitTest++ 检查一起使用?

c++ - 确定 Visual Studio 2015 调试器中每个帧的堆栈大小

c++ - 多个 C++ 删除多个对象指向的内存

c++ - 标准实验闩锁和势垒使用ptrdiff_t

mysql - 在 SQL 中获取总耗时 (TIME)

javascript - 使用带有分钟、秒和毫秒的 Highcharts 作为数据不起作用

c++ - 如何通过strtok忽略一个字符?

c - 需要使用 strtok() 知道两个标记分隔符之间何时没有数据出现