win32-localtime的使用

下面的例子用于反映本地系统的日期格式变化

// locale test

#include <stdio.h>
#include <locale.h>
#include <time.h>
#include <locale>
#include <Windows.h>
#pragma warning(disable:4996)
// locale test
void locale_test() {

    time_t rawtime;
    struct tm* timeinfo;
    char system_date_buffer[80];

    time(&rawtime);
    timeinfo = localtime(&rawtime);

    std::locale::global(std::locale("C"));

    setlocale(LC_ALL, "");
    strftime(system_date_buffer, 80, "%x", timeinfo);
    printf("System Date format is: %s\n", system_date_buffer);
}

int main(int argc, char* argv[]) {
    while (1)
    {
        locale_test();
    }
    
    return 0;
}

另外, WM_SETTINGCHANGE消息可以监控日期格式的变化。

posted @ 2020-06-18 13:50  strive-sun  阅读(542)  评论(0编辑  收藏  举报