SYSTEMTIME  ct;
GetLocalTime(&ct);ct之间可以做运算吗  例如之间相减,是否可以得出时间差?

解决方案 »

  1.   

    可以的 SYSTEMTIME systime;
    GetSystemTime(&systime);

    // Determine day of the week.
    CString day;
    switch (systime.wDayOfWeek)
    {
    case 0:
    day = "Sunday";
    break;

    case 1:
    day = "Monday";
    break;

    case 2:
    day = "Tuesday";
    break;

    case 3:
    day = "Wednesday";
    break;

    case 4:
    day = "Thursday";
    break;

    case 5:
    day = "Friday";
    break;

    case 6:
    day = "Saturday";
    break;
    }

    // Show the time in a message box.
    char str[50];
    wsprintf(str, "%s %u/%u/%u  %u:%u:%u:%u",
    day,
    systime.wYear+1, systime.wMonth, systime.wDay,
    systime.wHour, systime.wMinute, systime.wSecond, systime.wMilliseconds);
    AfxMessageBox(str);
      

  2.   

    MFC里面有个CTimeSpan类可以直接运算
    如果你在非MFC程序使用,可以参考一下它的源码
      

  3.   

    转换成FILETIME, SystemTimeToFileTime()
    或者
    转换成COleDateTime,用COleDateTimeSpan计算
      

  4.   

    sorry  看错 SYSTEMTIME 是不支持+ -运算的 , CTimeSpan类可以直接运算。
      

  5.   


    SYSTEMTIME  ct;
    GetLocalTime(&ct);
    这是 C 语言的用法,不支持直接运算。