Sample code for 30+ languages & platforms
Unicode C++

Compute Difference Between Two DateTime Strings

Demonstrates how to compute the difference between two datetime strings.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkStringBuilderW.h>
#include <CkDateTimeW.h>

void ChilkatSample(void)
    {
    //  Imagine we have these strings:

    const wchar_t *t1 = L"2022-11-14 15:45:38";
    const wchar_t *t2 = L"2022-11-16 17:23:41";

    //  How many minutes are between the two?

    //  First, we'd want load each date/time into a Chilkat CkDateTime object.
    //  In this case, there are no CkDateTime methods that accept the above format.
    //  However.. the CkDateTime's SetFromTimestamp will accept a date in the format "YYYY-MM-DDThh:mm:ssZ"

    //  First modify the above dates to the timestamp format.
    CkStringBuilderW sb1;
    sb1.Append(t1);
    int count = sb1.Replace(L" ",L"T");
    sb1.Append(L"Z");

    CkStringBuilderW sb2;
    sb2.Append(t2);
    count = sb2.Replace(L" ",L"T");
    sb2.Append(L"Z");

    //  Load each into a CkDateTime
    CkDateTimeW dt1;
    dt1.SetFromTimestamp(sb1.getAsString());
    //  verify...
    wprintf(L"%s\n",dt1.getAsTimestamp(false));

    CkDateTimeW dt2;
    dt2.SetFromTimestamp(sb2.getAsString());
    //  verify...
    wprintf(L"%s\n",dt2.getAsTimestamp(false));

    //  Get the difference in seconds
    int diffSeconds = dt2.DiffSeconds(dt1);
    wprintf(L"Difference in seconds: %d\n",diffSeconds);
    wprintf(L"Difference in minutes: %d\n",diffSeconds / 60);
    }