Platform SDK: International Features |
The CALTYPE constants are used in the EnumCalendarInfo and GetCalendarInfo functions to define particular pieces of calendar information. Some of these types are also used for the SetCalendarInfo function.
The following CALTYPE constants may be used in combination with any other CALTYPE constants.
Type | Description |
---|---|
CAL_NOUSEROVERRIDE | Windows 98, Windows 2000: Uses the system default instead of the user's choice. |
CAL_RETURN_NUMBER | Windows 98, Windows 2000: Returns the result from GetCalendarInfo as a number instead of a string. This is only valid for CALTYPES beginning with CAL_I. |
CAL_USE_CP_ACP | Windows 98, Windows 2000: Uses the system ANSI code page (ACP) for string translation instead of the locale's code page. |
The following CALTYPE constants are mutually exclusive—that is, they may not be used in combination with each other in a function call.
Type | Description |
---|---|
CAL_ICALINTVALUE | An integer value indicating the calendar type of the alternate calendar. |
CAL_ITWODIGITYEARMAX | Windows 98, Windows 2000: An integer value indicating the upper boundary of the two-digit year range. |
CAL_IYEAROFFSETRANGE | One or more null-terminated strings that specify the year offsets for each of the era ranges. The last string has an extra terminating null character. |
CAL_SABBREVDAYNAME1 | Abbreviated native name of the first day of the week. |
CAL_SABBREVDAYNAME2 | Abbreviated native name of the second day of the week. |
CAL_SABBREVDAYNAME3 | Abbreviated native name of the third day of the week. |
CAL_SABBREVDAYNAME4 | Abbreviated native name of the fourth day of the week. |
CAL_SABBREVDAYNAME5 | Abbreviated native name of the fifth day of the week. |
CAL_SABBREVDAYNAME6 | Abbreviated native name of the sixth day of the week. |
CAL_SABBREVDAYNAME7 | Abbreviated native name of the seventh day of the week. |
CAL_SABBREVMONTHNAME1 | Abbreviated native name of the first month of the year. |
CAL_SABBREVMONTHNAME2 | Abbreviated native name of the second month of the year. |
CAL_SABBREVMONTHNAME3 | Abbreviated native name of the third month of the year. |
CAL_SABBREVMONTHNAME4 | Abbreviated native name of the fourth month of the year. |
CAL_SABBREVMONTHNAME5 | Abbreviated native name of the fifth month of the year. |
CAL_SABBREVMONTHNAME6 | Abbreviated native name of the sixth month of the year. |
CAL_SABBREVMONTHNAME7 | Abbreviated native name of the seventh month of the year. |
CAL_SABBREVMONTHNAME8 | Abbreviated native name of the eighth month of the year. |
CAL_SABBREVMONTHNAME9 | Abbreviated native name of the ninth month of the year. |
CAL_SABBREVMONTHNAME10 | Abbreviated native name of the tenth month of the year. |
CAL_SABBREVMONTHNAME11 | Abbreviated native name of the eleventh month of the year. |
CAL_SABBREVMONTHNAME12 | Abbreviated native name of the twelfth month of the year. |
CAL_SABBREVMONTHNAME13 | Abbreviated native name of the thirteenth month of the year, if it exists. |
CAL_SCALNAME | Native name of the alternate calendar. |
CAL_SDAYNAME1 | Native name of the first day of the week. |
CAL_SDAYNAME2 | Native name of the second day of the week. |
CAL_SDAYNAME3 | Native name of the third day of the week. |
CAL_SDAYNAME4 | Native name of the fourth day of the week. |
CAL_SDAYNAME5 | Native name of the fifth day of the week. |
CAL_SDAYNAME6 | Native name of the sixth day of the week. |
CAL_SDAYNAME7 | Native name of the seventh day of the week. |
CAL_SERASTRING | One or more null-terminated strings that specify each of the Unicode code points specifying the era associated with CAL_IYEAROFFSETRANGE. The last string has an extra terminating null character. See example below. |
CAL_SLONGDATE | Long date formats for this calendar type. |
CAL_SMONTHNAME1 | Native name of the first month of the year. |
CAL_SMONTHNAME2 | Native name of the second month of the year. |
CAL_SMONTHNAME3 | Native name of the fifth month of the year. |
CAL_SMONTHNAME4 | Native name of the fourth month of the year. |
CAL_SMONTHNAME5 | Native name of the fifth month of the year. |
CAL_SMONTHNAME6 | Native name of the sixth month of the year. |
CAL_SMONTHNAME7 | Native name of the seventh month of the year. |
CAL_SMONTHNAME8 | Native name of the eighth month of the year. |
CAL_SMONTHNAME9 | Native name of the ninth month of the year. |
CAL_SMONTHNAME10 | Native name of the tenth month of the year. |
CAL_SMONTHNAME11 | Native name of the eleventh month of the year. |
CAL_SMONTHNAME12 | Native name of the twelfth month of the year. |
CAL_SMONTHNAME13 | Native name of the thirteenth month of the year, if it exists. |
CAL_SSHORTDATE | Short date formats for this calendar type. |
CAL_SYEARMONTH | Windows 98, Windows 2000: Enumerates the year/month formats for the specified calendars. |
If the native name for the day of the week or for a month is an empty string, that name is identical to the name specified in the corresponding locale information and therefore is not duplicated here.
The CAL_IYEAROFFSETRANGE and CAL_SERASTRING values vary in format depending on the type of optional calendar. The following example shows the values for these types (for each supported alternate calendar type) along with the formula for how to use the CAL_IYEAROFFSETRANGE value to compute the correct year given the Gregorian current year value Y:
CAL_ICALINTVALUE = "1" CAL_IYEAROFFSETRANGE = "" CAL_SERASTRING = "" CAL_ICALINTVALUE = "2" CAL_IYEAROFFSETRANGE = "" CAL_SERASTRING = "" CAL_ICALINTVALUE = "3" CAL_IYEAROFFSETRANGE = "1989\01926\01912\01868\0" CAL_SERASTRING = "Ux337B\0Ux337C\0Ux337D\0Ux337E\0" if (Y>=1989) { Y = (Y-1989)+1; } if (Y>=1926 && Y<1989) { Y = (Y-1926)+1; } if (Y>=1912 && Y<1926) { Y = (Y-1912)+1; } if (Y>=1868 && Y<1912) { Y = (Y-1868)+1; } if (Y<1868) { Y = Y; } CAL_ICALINTVALUE = "4" CAL_IYEAROFFSETRANGE = "1912\0" CAL_SERASTRING = "Ux4E2D\0Ux83EF\0Ux6C11\0Ux570B\0" if (Y>=1912) { Y = (Y-1912)+1; } if (Y<1912) { Y = Y; } CAL_ICALINTVALUE = "5" CAL_IYEAROFFSETRANGE = "2333\0" CAL_SERASTRING = "" Y = Y+2333;