How to compare calendar dates using the Win32 API in C++

1 Answer

0 votes
#include <windows.h>
#include <iostream>

int CompareDates(const SYSTEMTIME& date1, const SYSTEMTIME& date2) {
    FILETIME ft1, ft2;

    SystemTimeToFileTime(&date1, &ft1);
    SystemTimeToFileTime(&date2, &ft2);

    return CompareFileTime(&ft1, &ft2); // Returns -1, 0, or 1
}

int main() {
    SYSTEMTIME date1 = { 2025, 5, 0, 17, 0, 0, 0, 0 }; // May 17, 2025
    SYSTEMTIME date2 = { 2025, 5, 0, 18, 0, 0, 0, 0 }; // May 18, 2025

    int result = CompareDates(date1, date2);
    if (result < 0)
        std::cout << "Date1 is earlier.\n";
    else if (result > 0)
        std::cout << "Date1 is later.\n";
    else
        std::cout << "Dates are equal.\n";

    return 0;
}




/*
run

Date1 is earlier.

*/

 



answered May 17, 2025 by avibootz
...