... | ... |
@@ -28,7 +28,15 @@ |
28 | 28 |
#ifndef NOMINMAX |
29 | 29 |
#define NOMINMAX |
30 | 30 |
#endif |
31 |
#ifdef UNICODE |
|
32 |
#undef UNICODE |
|
33 |
#endif |
|
31 | 34 |
#include <windows.h> |
35 |
#ifdef LOCALE_INVARIANT |
|
36 |
#define MY_LOCALE LOCALE_INVARIANT |
|
37 |
#else |
|
38 |
#define MY_LOCALE LOCALE_NEUTRAL |
|
39 |
#endif |
|
32 | 40 |
#else |
33 | 41 |
#include <unistd.h> |
34 | 42 |
#include <ctime> |
... | ... |
@@ -87,27 +95,15 @@ |
87 | 95 |
#ifdef WIN32 |
88 | 96 |
SYSTEMTIME time; |
89 | 97 |
GetSystemTime(&time); |
90 |
#if defined(_MSC_VER) && (_MSC_VER < 1500) |
|
91 |
LPWSTR buf1, buf2, buf3; |
|
92 |
if (GetDateFormat(LOCALE_USER_DEFAULT, 0, &time, |
|
93 |
L"ddd MMM dd", buf1, 11) && |
|
94 |
GetTimeFormat(LOCALE_USER_DEFAULT, 0, &time, |
|
95 |
L"HH':'mm':'ss", buf2, 9) && |
|
96 |
GetDateFormat(LOCALE_USER_DEFAULT, 0, &time, |
|
97 |
L"yyyy", buf3, 5)) { |
|
98 |
char buf1[11], buf2[9], buf3[5]; |
|
99 |
if (GetDateFormat(MY_LOCALE, 0, &time, |
|
100 |
("ddd MMM dd"), buf1, 11) && |
|
101 |
GetTimeFormat(MY_LOCALE, 0, &time, |
|
102 |
("HH':'mm':'ss"), buf2, 9) && |
|
103 |
GetDateFormat(MY_LOCALE, 0, &time, |
|
104 |
("yyyy"), buf3, 5)) { |
|
98 | 105 |
os << buf1 << ' ' << buf2 << ' ' << buf3; |
99 | 106 |
} |
100 |
#else |
|
101 |
char buf1[11], buf2[9], buf3[5]; |
|
102 |
if (GetDateFormat(LOCALE_USER_DEFAULT, 0, &time, |
|
103 |
"ddd MMM dd", buf1, 11) && |
|
104 |
GetTimeFormat(LOCALE_USER_DEFAULT, 0, &time, |
|
105 |
"HH':'mm':'ss", buf2, 9) && |
|
106 |
GetDateFormat(LOCALE_USER_DEFAULT, 0, &time, |
|
107 |
"yyyy", buf3, 5)) { |
|
108 |
os << buf1 << ' ' << buf2 << ' ' << buf3; |
|
109 |
} |
|
110 |
#endif |
|
111 | 107 |
else os << "unknown"; |
112 | 108 |
#else |
113 | 109 |
timeval tv; |
0 comments (0 inline)