在C++如何计算任意两个时刻间的时间差?

在C++里用string字符串变量定义了两个时刻,如 string time1="00:10",string time2="01:20",请问可以如何计算这两个时刻间的时间差?谢谢!

<- 如果问题得到解决,请点我回答左上角的采纳和向上的箭头

假设time2>time1,采用24小时计时制,两个时间间隔<24h

#include <iostream>
using namespace std;

int main()
{
    string time1="00:10";
    string time2="01:20";
    int h1, m1;
    int h2, m2;
    int h, m;
    sscanf(time1.c_str(), "%d:%d", &h1, &m1);
    sscanf(time2.c_str(), "%d:%d", &h2, &m2);
    if (m2 < m1)
    {
        m = m2 + 60 - m1;
        h2--;
    }
    else
    {
        m = m2 - m1;
    }
    if (h2 < h1)
    {
        h = h2 + 24 - h1;
    }
    else
    {
        h = h2 - h1;
    }
    printf("%02d:%02d", h, m);
   return 0;
}