Order of listing month, day, and year in local date formats.

Christophe PIERRET cpierret at businessobjects.com
Thu Jul 23 15:10:46 UTC 1998


First of all , be aware of that : 
=================================
There can be more than one set of cultural convention in use in one
country !
I don't know if Tibetans and Chinese use the same set of conventions ...
even if they live in the same country.

Proposed solutions :
====================
The easy way is to use your system's locale.
In the C language, you could use the Windows NLS API or the C locale API
to obtain these informations.

You can also check POSIX locale definition file in the LC_TIME category.
There is a repository of such files at:
ftp://dkuug.dk/i18n/WG15-collection/locales/

You can also make a poll on the internet news ;-)

For Unix folks , I included the results of the second program (using
windows NLS API) in the mail...

Hope it helps !
______________________________________________________
Christophe Pierret
    Software Development Engineer
    Windows Product Group
    Professional E-mail: cpierret at businessobjects.com

Business Objects S.A.
    1, square Chaptal, 92309 Levallois-Perret, FRANCE
    http://www.businessobjects.com
    ______
   /_/_/_/|
  /_/_/_/ |
 /_/_/_/  |
 |_|_|_|Cube Team
 |_|_|_| /
 |_|_|_|/
 

Quick and untested example using the C locale (Unix like):
==========================================================
#include <time.h>
#include <locale.h>
#define MAX_RESULT 512
void PrintDefaultDateFormat(char * localeName)
{
	char result[MAX_RESULT];
	struct tm* pMyTM;
	time_t ltime;
	time(&ltime);
	pMyTM = gmtime(ltime);
	setlocale(LC_TIME,localeName);
	strftime(result,MAX_RESULT,"%x",pMyTM); /* %x is default locale
date format */
	printf("Current date in locale %s is %s\n",localeName,result);
};

Tested example using the Windows NLS API:
=======================================
Using the Windows NLS API would give something like the following C
program :

#include <time.h>
#include <stdio.h>
#include <locale.h>
#include <windows.h>
#include <winnls.h>
#include <winnt.h>

typedef struct _myLocale_t {
	LCID locale;
	char * name;
} myLocale_t;

myLocale_t winLocales[]=
{
{ MAKELCID(MAKELANGID(LANG_AFRIKAANS,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_AFRIKAANS" },
{ MAKELCID(MAKELANGID(LANG_ALBANIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_ALBANIAN" },
{ MAKELCID(MAKELANGID(LANG_BASQUE,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_BASQUE" },
{ MAKELCID(MAKELANGID(LANG_BELARUSIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_BELARUSIAN" },
{ MAKELCID(MAKELANGID(LANG_BULGARIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_BULGARIAN" },
{ MAKELCID(MAKELANGID(LANG_CATALAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_CATALAN" },
{ MAKELCID(MAKELANGID(LANG_CROATIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_CROATIAN" },
{ MAKELCID(MAKELANGID(LANG_CZECH,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_CZECH" },
{ MAKELCID(MAKELANGID(LANG_DANISH,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_DANISH" },
{ MAKELCID(MAKELANGID(LANG_ESTONIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_ESTONIAN" },
{ MAKELCID(MAKELANGID(LANG_FAEROESE,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_FAEROESE" },
{ MAKELCID(MAKELANGID(LANG_FARSI,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_FARSI" },
{ MAKELCID(MAKELANGID(LANG_FINNISH,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_FINNISH" },
{ MAKELCID(MAKELANGID(LANG_GREEK,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_GREEK" },
{ MAKELCID(MAKELANGID(LANG_HEBREW,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_HEBREW" },
{ MAKELCID(MAKELANGID(LANG_HUNGARIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_HUNGARIAN" },
{ MAKELCID(MAKELANGID(LANG_ICELANDIC,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_ICELANDIC" },
{ MAKELCID(MAKELANGID(LANG_INDONESIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_INDONESIAN" },
{ MAKELCID(MAKELANGID(LANG_JAPANESE,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_JAPANESE" },
{ MAKELCID(MAKELANGID(LANG_LATVIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_LATVIAN" },
{ MAKELCID(MAKELANGID(LANG_LITHUANIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_LITHUANIAN" },
{ MAKELCID(MAKELANGID(LANG_NORWEGIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_NORWEGIAN" },
{ MAKELCID(MAKELANGID(LANG_POLISH,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_POLISH" },
{ MAKELCID(MAKELANGID(LANG_ROMANIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_ROMANIAN" },
{ MAKELCID(MAKELANGID(LANG_RUSSIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_RUSSIAN" },
{ MAKELCID(MAKELANGID(LANG_SLOVAK,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_SLOVAK" },
{ MAKELCID(MAKELANGID(LANG_SLOVENIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_SLOVENIAN" },
{ MAKELCID(MAKELANGID(LANG_THAI,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_THAI" },
{ MAKELCID(MAKELANGID(LANG_TURKISH,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_TURKISH" },
{ MAKELCID(MAKELANGID(LANG_UKRAINIAN,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_UKRAINIAN" },
{ MAKELCID(MAKELANGID(LANG_VIETNAMESE,SUBLANG_NEUTRAL),SORT_DEFAULT) ,
"LANG_VIETNAMESE" },
{
MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_SAUDI_ARABIA),SORT_DEFAUL
T) , "SUBLANG_ARABIC_SAUDI_ARABIA" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_IRAQ),SORT_DEFAULT) ,
"SUBLANG_ARABIC_IRAQ" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_EGYPT),SORT_DEFAULT) ,
"SUBLANG_ARABIC_EGYPT" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_LIBYA),SORT_DEFAULT) ,
"SUBLANG_ARABIC_LIBYA" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_ALGERIA),SORT_DEFAULT)
, "SUBLANG_ARABIC_ALGERIA" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_MOROCCO),SORT_DEFAULT)
, "SUBLANG_ARABIC_MOROCCO" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_TUNISIA),SORT_DEFAULT)
, "SUBLANG_ARABIC_TUNISIA" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_OMAN),SORT_DEFAULT) ,
"SUBLANG_ARABIC_OMAN" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_YEMEN),SORT_DEFAULT) ,
"SUBLANG_ARABIC_YEMEN" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_SYRIA),SORT_DEFAULT) ,
"SUBLANG_ARABIC_SYRIA" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_JORDAN),SORT_DEFAULT) ,
"SUBLANG_ARABIC_JORDAN" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_LEBANON),SORT_DEFAULT)
, "SUBLANG_ARABIC_LEBANON" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_KUWAIT),SORT_DEFAULT) ,
"SUBLANG_ARABIC_KUWAIT" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_UAE),SORT_DEFAULT) ,
"SUBLANG_ARABIC_UAE" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_BAHRAIN),SORT_DEFAULT)
, "SUBLANG_ARABIC_BAHRAIN" },	    
{ MAKELCID(MAKELANGID(LANG_ARABIC,SUBLANG_ARABIC_QATAR),SORT_DEFAULT) ,
"SUBLANG_ARABIC_QATAR" },	    
{
MAKELCID(MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_TRADITIONAL),SORT_DEFAU
LT) , "SUBLANG_CHINESE_TRADITIONAL" },	    
{
MAKELCID(MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED),SORT_DEFAUL
T) , "SUBLANG_CHINESE_SIMPLIFIED" },	    
{
MAKELCID(MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_HONGKONG),SORT_DEFAULT)
, "SUBLANG_CHINESE_HONGKONG" },	    
{
MAKELCID(MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SINGAPORE),SORT_DEFAULT
) , "SUBLANG_CHINESE_SINGAPORE" },	    
{ MAKELCID(MAKELANGID(LANG_DUTCH,SUBLANG_DUTCH),SORT_DEFAULT) ,
"SUBLANG_DUTCH" },	    
{ MAKELCID(MAKELANGID(LANG_DUTCH,SUBLANG_DUTCH_BELGIAN),SORT_DEFAULT) ,
"SUBLANG_DUTCH_BELGIAN" },	    
{ MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),SORT_DEFAULT) ,
"SUBLANG_ENGLISH_US" },	    
{ MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_UK),SORT_DEFAULT) ,
"SUBLANG_ENGLISH_UK" },	    
{ MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_AUS),SORT_DEFAULT) ,
"SUBLANG_ENGLISH_AUS" },	    
{ MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_CAN),SORT_DEFAULT) ,
"SUBLANG_ENGLISH_CAN" },	    
{ MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_NZ),SORT_DEFAULT) ,
"SUBLANG_ENGLISH_NZ" },	    
{ MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_EIRE),SORT_DEFAULT) ,
"SUBLANG_ENGLISH_EIRE" },	    
{
MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_SOUTH_AFRICA),SORT_DEFA
ULT) , "SUBLANG_ENGLISH_SOUTH_AFRICA" },	    
{
MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_JAMAICA),SORT_DEFAULT)
, "SUBLANG_ENGLISH_JAMAICA" },	    
{
MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_CARIBBEAN),SORT_DEFAULT
) , "SUBLANG_ENGLISH_CARIBBEAN" },	    
{ MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_BELIZE),SORT_DEFAULT)
, "SUBLANG_ENGLISH_BELIZE" },	    
{
MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_TRINIDAD),SORT_DEFAULT)
, "SUBLANG_ENGLISH_TRINIDAD" },	    
{ MAKELCID(MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH),SORT_DEFAULT) ,
"SUBLANG_FRENCH" },	    
{ MAKELCID(MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH_BELGIAN),SORT_DEFAULT)
, "SUBLANG_FRENCH_BELGIAN" },	    
{ MAKELCID(MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH_CANADIAN),SORT_DEFAULT)
, "SUBLANG_FRENCH_CANADIAN" },	    
{ MAKELCID(MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH_SWISS),SORT_DEFAULT) ,
"SUBLANG_FRENCH_SWISS" },	    
{
MAKELCID(MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH_LUXEMBOURG),SORT_DEFAULT)
, "SUBLANG_FRENCH_LUXEMBOURG" },	    
{ MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN),SORT_DEFAULT) ,
"SUBLANG_GERMAN" },	    
{ MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN_SWISS),SORT_DEFAULT) ,
"SUBLANG_GERMAN_SWISS" },	    
{ MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN_AUSTRIAN),SORT_DEFAULT)
, "SUBLANG_GERMAN_AUSTRIAN" },	    
{
MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN_LUXEMBOURG),SORT_DEFAULT)
, "SUBLANG_GERMAN_LUXEMBOURG" },	    
{
MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN_LIECHTENSTEIN),SORT_DEFAU
LT) , "SUBLANG_GERMAN_LIECHTENSTEIN" },	    
{ MAKELCID(MAKELANGID(LANG_ITALIAN,SUBLANG_ITALIAN),SORT_DEFAULT) ,
"SUBLANG_ITALIAN" },	    
{ MAKELCID(MAKELANGID(LANG_ITALIAN,SUBLANG_ITALIAN_SWISS),SORT_DEFAULT)
, "SUBLANG_ITALIAN_SWISS" },	    
{ MAKELCID(MAKELANGID(LANG_KOREAN,SUBLANG_KOREAN),SORT_DEFAULT) ,
"SUBLANG_KOREAN" },	    
{ MAKELCID(MAKELANGID(LANG_KOREAN,SUBLANG_KOREAN_JOHAB),SORT_DEFAULT) ,
"SUBLANG_KOREAN_JOHAB" },	    
{
MAKELCID(MAKELANGID(LANG_NORWEGIAN,SUBLANG_NORWEGIAN_BOKMAL),SORT_DEFAUL
T) , "SUBLANG_NORWEGIAN_BOKMAL" },	    
{
MAKELCID(MAKELANGID(LANG_NORWEGIAN,SUBLANG_NORWEGIAN_NYNORSK),SORT_DEFAU
LT) , "SUBLANG_NORWEGIAN_NYNORSK" },	    
{ MAKELCID(MAKELANGID(LANG_PORTUGUESE,SUBLANG_PORTUGUESE),SORT_DEFAULT)
, "SUBLANG_PORTUGUESE" },	    
{
MAKELCID(MAKELANGID(LANG_PORTUGUESE,SUBLANG_PORTUGUESE_BRAZILIAN),SORT_D
EFAULT) , "SUBLANG_PORTUGUESE_BRAZILIAN" },	    
{ MAKELCID(MAKELANGID(LANG_SERBIAN,SUBLANG_SERBIAN_LATIN),SORT_DEFAULT)
, "SUBLANG_SERBIAN_LATIN" },	    
{
MAKELCID(MAKELANGID(LANG_SERBIAN,SUBLANG_SERBIAN_CYRILLIC),SORT_DEFAULT)
, "SUBLANG_SERBIAN_CYRILLIC" },	    
{ MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH),SORT_DEFAULT) ,
"SUBLANG_SPANISH" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_MEXICAN),SORT_DEFAULT)
, "SUBLANG_SPANISH_MEXICAN" },	    
{ MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_MODERN),SORT_DEFAULT)
, "SUBLANG_SPANISH_MODERN" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_GUATEMALA),SORT_DEFAULT
) , "SUBLANG_SPANISH_GUATEMALA" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_COSTA_RICA),SORT_DEFAUL
T) , "SUBLANG_SPANISH_COSTA_RICA" },	    
{ MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_PANAMA),SORT_DEFAULT)
, "SUBLANG_SPANISH_PANAMA" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_DOMINICAN_REPUBLIC),SOR
T_DEFAULT) , "SUBLANG_SPANISH_DOMINICAN_REPUBLIC" },	  
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_VENEZUELA),SORT_DEFAULT
) , "SUBLANG_SPANISH_VENEZUELA" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_COLOMBIA),SORT_DEFAULT)
, "SUBLANG_SPANISH_COLOMBIA" },	    
{ MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_PERU),SORT_DEFAULT) ,
"SUBLANG_SPANISH_PERU" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_ARGENTINA),SORT_DEFAULT
) , "SUBLANG_SPANISH_ARGENTINA" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_ECUADOR),SORT_DEFAULT)
, "SUBLANG_SPANISH_ECUADOR" },	    
{ MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_CHILE),SORT_DEFAULT)
, "SUBLANG_SPANISH_CHILE" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_URUGUAY),SORT_DEFAULT)
, "SUBLANG_SPANISH_URUGUAY" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_PARAGUAY),SORT_DEFAULT)
, "SUBLANG_SPANISH_PARAGUAY" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_BOLIVIA),SORT_DEFAULT)
, "SUBLANG_SPANISH_BOLIVIA" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_EL_SALVADOR),SORT_DEFAU
LT) , "SUBLANG_SPANISH_EL_SALVADOR" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_HONDURAS),SORT_DEFAULT)
, "SUBLANG_SPANISH_HONDURAS" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_NICARAGUA),SORT_DEFAULT
) , "SUBLANG_SPANISH_NICARAGUA" },	    
{
MAKELCID(MAKELANGID(LANG_SPANISH,SUBLANG_SPANISH_PUERTO_RICO),SORT_DEFAU
LT) , "SUBLANG_SPANISH_PUERTO_RICO" },	    
{ MAKELCID(MAKELANGID(LANG_SWEDISH,SUBLANG_SWEDISH),SORT_DEFAULT) ,
"SUBLANG_SWEDISH" },	    
{
MAKELCID(MAKELANGID(LANG_SWEDISH,SUBLANG_SWEDISH_FINLAND),SORT_DEFAULT)
, "SUBLANG_SWEDISH_FINLAND" },
{ 0 , 0 }
};

void HandleError(char* name)
{
	DWORD err=GetLastError();
	switch(err)
	{
	case ERROR_INSUFFICIENT_BUFFER:
		fprintf(stderr,"Insufficient buffer\n");
		exit(err);
		break;
	case ERROR_INVALID_FLAGS:
		fprintf(stderr,"Invalid flags\n");
		exit(err);
		break;
	case ERROR_INVALID_PARAMETER:
		fprintf(stderr,"Invalid parameter for locale
%s\n",name);
		break;
	default:
		fprintf(stderr,"Unknown error\n");
		exit(err);
		break;
	}
	fflush(stderr);
};

int main(int argc,char* argv[])
{
	LCID localeId;
	int nBytes;
	char * pData;
	int i;
	char * str[3];
	int iStr = 0;
	int iBytes;

	for ( i = 0; winLocales[i].name!=0 ; ++i)
	{
		int dayFound = 0;
		int monthFound = 0;
		int yearFound = 0;
		localeId = winLocales[i].locale;
		nBytes = GetLocaleInfo(
			localeId,			    // locale
identifier
			LOCALE_SSHORTDATE,    // type of information
			NULL,		            // address of buffer
for information
			0                     // size of buffer
			);
		if (nBytes==0)
		{
			HandleError(winLocales[i].name);
			continue;
		};
		pData = (char*)malloc(nBytes);
		if ( GetLocaleInfo(
				localeId,			    //
locale identifier
				LOCALE_SSHORTDATE,    // type of
information
				pData,		        // address of
buffer for information
				nBytes                // size of buffer
				) ==0)
		{
			HandleError(winLocales[i].name);
			free(pData);
			continue;
		}

		str[0]=str[1]=str[2]="";
		for (iBytes=0, iStr=0 ; iBytes != nBytes ; ++iBytes)
		{
			switch (pData[iBytes])
			{
			case 'd':
			case 'D':
				if (!dayFound)
				{
					dayFound = !dayFound;
					str[iStr++] = "Day";
				}
				break;
			case 'm':
			case 'M':
				if (!monthFound)
				{
					monthFound = !monthFound;
					str[iStr++] = "Month";
				}
				break;
			case 'y':
			case 'Y':
				if (!yearFound)
				{
					yearFound = !yearFound;
					str[iStr++] = "Year";
				}
				break;
			}
		}

		printf("In locale %s , format is
%s/%s/%s\n",winLocales[i].name,str[0],str[1],str[2]);
		free(pData);
	};
	return 0;
}


Here are the result on windows NT 4.0 ( my machine !):
In locale LANG_AFRIKAANS , format is Year/Month/Day
In locale LANG_ALBANIAN , format is Year/Month/Day
In locale LANG_BASQUE , format is Year/Month/Day
In locale LANG_BELARUSIAN , format is Day/Month/Year
In locale LANG_BULGARIAN , format is Day/Month/Year
In locale LANG_CATALAN , format is Day/Month/Year
In locale LANG_CROATIAN , format is Year/Month/Day
In locale LANG_CZECH , format is Day/Month/Year
In locale LANG_DANISH , format is Day/Month/Year
In locale LANG_ESTONIAN , format is Day/Month/Year
In locale LANG_FAEROESE , format is Day/Month/Year
In locale LANG_FARSI , format is Day/Month/Year
In locale LANG_FINNISH , format is Day/Month/Year
In locale LANG_GREEK , format is Day/Month/Year
In locale LANG_HEBREW , format is Day/Month/Year
In locale LANG_HUNGARIAN , format is Year/Month/Day
In locale LANG_ICELANDIC , format is Day/Month/Year
In locale LANG_INDONESIAN , format is Day/Month/Year
In locale LANG_JAPANESE , format is Year/Month/Day
In locale LANG_LATVIAN , format is Year/Month/Day
In locale LANG_LITHUANIAN , format is Year/Month/Day
In locale LANG_NORWEGIAN , format is Day/Month/Year
In locale LANG_POLISH , format is Year/Month/Day
In locale LANG_ROMANIAN , format is Day/Month/Year
In locale LANG_RUSSIAN , format is Day/Month/Year
In locale LANG_SLOVAK , format is Day/Month/Year
In locale LANG_SLOVENIAN , format is Day/Month/Year
In locale LANG_TURKISH , format is Day/Month/Year
In locale LANG_UKRAINIAN , format is Day/Month/Year
In locale SUBLANG_ARABIC_SAUDI_ARABIA , format is Day/Month/Year
In locale SUBLANG_ARABIC_IRAQ , format is Day/Month/Year
In locale SUBLANG_ARABIC_EGYPT , format is Day/Month/Year
In locale SUBLANG_ARABIC_LIBYA , format is Day/Month/Year
In locale SUBLANG_ARABIC_ALGERIA , format is Day/Month/Year
In locale SUBLANG_ARABIC_MOROCCO , format is Day/Month/Year
In locale SUBLANG_ARABIC_TUNISIA , format is Day/Month/Year
In locale SUBLANG_ARABIC_OMAN , format is Day/Month/Year
In locale SUBLANG_ARABIC_YEMEN , format is Day/Month/Year
In locale SUBLANG_ARABIC_SYRIA , format is Day/Month/Year
In locale SUBLANG_ARABIC_JORDAN , format is Day/Month/Year
In locale SUBLANG_ARABIC_LEBANON , format is Day/Month/Year
In locale SUBLANG_ARABIC_KUWAIT , format is Day/Month/Year
In locale SUBLANG_ARABIC_UAE , format is Day/Month/Year
In locale SUBLANG_ARABIC_BAHRAIN , format is Day/Month/Year
In locale SUBLANG_ARABIC_QATAR , format is Day/Month/Year
In locale SUBLANG_CHINESE_TRADITIONAL , format is Year/Month/Day
In locale SUBLANG_CHINESE_SIMPLIFIED , format is Year/Month/Day
In locale SUBLANG_CHINESE_HONGKONG , format is Day/Month/Year
In locale SUBLANG_CHINESE_SINGAPORE , format is Day/Month/Year
In locale SUBLANG_DUTCH , format is Day/Month/Year
In locale SUBLANG_DUTCH_BELGIAN , format is Day/Month/Year
In locale SUBLANG_ENGLISH_US , format is Month/Day/Year
In locale SUBLANG_ENGLISH_UK , format is Day/Month/Year
In locale SUBLANG_ENGLISH_AUS , format is Day/Month/Year
In locale SUBLANG_ENGLISH_CAN , format is Day/Month/Year
In locale SUBLANG_ENGLISH_NZ , format is Day/Month/Year
In locale SUBLANG_ENGLISH_EIRE , format is Day/Month/Year
In locale SUBLANG_ENGLISH_SOUTH_AFRICA , format is Year/Month/Day
In locale SUBLANG_ENGLISH_JAMAICA , format is Day/Month/Year
In locale SUBLANG_ENGLISH_CARIBBEAN , format is Month/Day/Year
In locale SUBLANG_ENGLISH_BELIZE , format is Day/Month/Year
In locale SUBLANG_ENGLISH_TRINIDAD , format is Day/Month/Year
In locale SUBLANG_FRENCH , format is Day/Month/Year
In locale SUBLANG_FRENCH_BELGIAN , format is Day/Month/Year
In locale SUBLANG_FRENCH_CANADIAN , format is Year/Month/Day
In locale SUBLANG_FRENCH_SWISS , format is Day/Month/Year
In locale SUBLANG_FRENCH_LUXEMBOURG , format is Day/Month/Year
In locale SUBLANG_GERMAN , format is Day/Month/Year
In locale SUBLANG_GERMAN_SWISS , format is Day/Month/Year
In locale SUBLANG_GERMAN_AUSTRIAN , format is Day/Month/Year
In locale SUBLANG_GERMAN_LUXEMBOURG , format is Day/Month/Year
In locale SUBLANG_GERMAN_LIECHTENSTEIN , format is Day/Month/Year
In locale SUBLANG_ITALIAN , format is Day/Month/Year
In locale SUBLANG_ITALIAN_SWISS , format is Day/Month/Year
In locale SUBLANG_KOREAN , format is Year/Month/Day
In locale SUBLANG_NORWEGIAN_BOKMAL , format is Day/Month/Year
In locale SUBLANG_NORWEGIAN_NYNORSK , format is Day/Month/Year
In locale SUBLANG_PORTUGUESE , format is Day/Month/Year
In locale SUBLANG_PORTUGUESE_BRAZILIAN , format is Day/Month/Year
In locale SUBLANG_SERBIAN_LATIN , format is Day/Month/Year
In locale SUBLANG_SERBIAN_CYRILLIC , format is Day/Month/Year
In locale SUBLANG_SPANISH , format is Day/Month/Year
In locale SUBLANG_SPANISH_MEXICAN , format is Day/Month/Year
In locale SUBLANG_SPANISH_MODERN , format is Day/Month/Year
In locale SUBLANG_SPANISH_GUATEMALA , format is Day/Month/Year
In locale SUBLANG_SPANISH_COSTA_RICA , format is Day/Month/Year
In locale SUBLANG_SPANISH_PANAMA , format is Month/Day/Year
In locale SUBLANG_SPANISH_DOMINICAN_REPUBLIC , format is Month/Day/Year
In locale SUBLANG_SPANISH_VENEZUELA , format is Day/Month/Year
In locale SUBLANG_SPANISH_COLOMBIA , format is Day/Month/Year
In locale SUBLANG_SPANISH_PERU , format is Day/Month/Year
In locale SUBLANG_SPANISH_ARGENTINA , format is Day/Month/Year
In locale SUBLANG_SPANISH_ECUADOR , format is Day/Month/Year
In locale SUBLANG_SPANISH_CHILE , format is Day/Month/Year
In locale SUBLANG_SPANISH_URUGUAY , format is Day/Month/Year
In locale SUBLANG_SPANISH_PARAGUAY , format is Day/Month/Year
In locale SUBLANG_SPANISH_BOLIVIA , format is Day/Month/Year
In locale SUBLANG_SPANISH_EL_SALVADOR , format is Month/Day/Year
In locale SUBLANG_SPANISH_HONDURAS , format is Month/Day/Year
In locale SUBLANG_SPANISH_NICARAGUA , format is Month/Day/Year
In locale SUBLANG_SPANISH_PUERTO , format is Month/Day/Year
In locale SUBLANG_SWEDISH , format is Year/Month/Day
In locale SUBLANG_SWEDISH_FINLAND , format is Day/Month/Year

Et voilà !
> -----Original Message-----
> From:	Dave & Betty Fabian [SMTP:dfabian at sprynet.com]
> Sent:	Saturday, July 18, 1998 3:58 AM
> To:	Olson, Arthur David (NCI)
> Subject:	Order of listing month, day, and year in local date
> formats.
> 
> Dear Mr. Olson,
>  
> Do you know where I can get a list of the local year-month-day orders
> used in
> each country?
> For example, the U.S. uses month-day-year order.
>  
> Thank you,
> Dave Fabian
>  



More information about the tz mailing list