Bonjour à tous,
J'utilise au sein d'un programme le code suivante:
Malheureusement, j'ai beau changer les settings sur allemand ou anglais, rien n'y fait, le format retourné est toujours le même .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 void ******::Get****FormattedDate(CString& datestring, SYSTEMTIME time) { CString result; datestring.Empty(); DWORD err= 0; LCID lcid = LOCALE_USER_DEFAULT; int length = GetDateFormat(lcid, DATE_SHORTDATE, &time, NULL, NULL, 0); if(length == 0) { /* error */ err = GetLastError(); } /* error */ else { LPTSTR p = result.GetBuffer(length); if(!::GetDateFormat(lcid, DATE_SHORTDATE, &time, NULL, p, length)) { err = GetLastError(); result.ReleaseBuffer(); } else { result.ReleaseBuffer(); } } datestring = result; }
En faisant quelques recherches, je suis tombé sur le site suivant http://www.flounder.com/localeexplorer.htm , il permet de tester la fonctionnalité ainsi que de récupérer le code source utilisé. Lui fonctionne très bien et retourne un résultat différent selon que je suis en anglais/francais/allemand, un copier coller vers mon code par contre ne fonctionne pas .
La seule différence que je vois se trouve au niveau de la compilation, "LocalExplorer" est compilé avec VS6 tandis que je tourne sur VS2008.
Quelqu'un a t il une solution ou un conseil à donner?
D'avance, un grand merci.
Partager