下面的例子用于反映本地系统的日期格式变化
// 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 ", system_date_buffer); } int main(int argc, char* argv[]) { while (1) { locale_test(); } return 0; }
另外, WM_SETTINGCHANGE消息可以监控日期格式的变化。