nl_langinfo()
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
查询语言和区域设置信息
说明
nl_langinfo(int $item): string
nl_langinfo()is used to access individual elements of the locale categories.Unlikelocaleconv(), which returns all of the elements,nl_langinfo()allows you to select any specific element.
参数
- $item
$itemmay be an integer value of the element or the constant name of the element. The following is a list of constant names for$itemthat may be used and their description. Some of these constants may not be defined or hold no value for certain locales.
nl_langinfo Constants Constant Description LC_TIME Category Constants ABDAY_(1-7)Abbreviated name of n-th day of the week. DAY_(1-7)Name of the n-th day of the week(DAY_1 = Sunday). ABMON_(1-12)Abbreviated name of the n-th month of the year. MON_(1-12)Name of the n-th month of the year. AM_STRString for Ante meridian. PM_STRString for Post meridian. D_T_FMTString that can be used as the format string forstrftime()to represent time and date. D_FMTString that can be used as the format string forstrftime()to represent date. T_FMTString that can be used as the format string forstrftime()to represent time. T_FMT_AMPMString that can be used as the format string forstrftime()to represent time in 12-hour format with ante/post meridian. ERAAlternate era. ERA_YEARYear in alternate era format. ERA_D_T_FMTDate and time in alternate era format(string can be used instrftime()). ERA_D_FMTDate in alternate era format(string can be used instrftime()). ERA_T_FMTTime in alternate era format(string can be used instrftime()). LC_MONETARY Category Constants INT_CURR_SYMBOLInternational currency symbol. CURRENCY_SYMBOLLocal currency symbol. CRNCYSTRSame value as CURRENCY_SYMBOL.MON_DECIMAL_POINTDecimal point character. MON_THOUSANDS_SEPThousands separator(groups of three digits). MON_GROUPINGLike"grouping"element. POSITIVE_SIGNSign for positive values. NEGATIVE_SIGNSign for negative values. INT_FRAC_DIGITSInternational fractional digits. FRAC_DIGITSLocal fractional digits. P_CS_PRECEDESReturns 1 if CURRENCY_SYMBOLprecedes a positive value.P_SEP_BY_SPACEReturns 1 if a space separates CURRENCY_SYMBOLfrom a positive value.N_CS_PRECEDESReturns 1 if CURRENCY_SYMBOLprecedes a negative value.N_SEP_BY_SPACEReturns 1 if a space separates CURRENCY_SYMBOLfrom a negative value.P_SIGN_POSN- Returns 0 if parentheses surround the quantity and
CURRENCY_SYMBOL. - Returns 1 if the sign string precedes the quantity and
CURRENCY_SYMBOL. - Returns 2 if the sign string follows the quantity and
CURRENCY_SYMBOL. - Returns 3 if the sign string immediately precedes the
CURRENCY_SYMBOL. - Returns 4 if the sign string immediately follows the
CURRENCY_SYMBOL.
N_SIGN_POSNLC_NUMERIC Category Constants DECIMAL_POINTDecimal point character. RADIXCHARSame value as DECIMAL_POINT.THOUSANDS_SEPSeparator character for thousands(groups of three digits). THOUSEPSame value as THOUSANDS_SEP.GROUPINGLC_MESSAGES Category Constants YESEXPRRegex string for matching"yes"input. NOEXPRRegex string for matching"no"input. YESSTROutput string for"yes". NOSTROutput string for"no". LC_CTYPE Category Constants CODESETReturn a string with the name of the character encoding. - Returns 0 if parentheses surround the quantity and
返回值
Returns the element as a string,orFALSEif$itemis not valid.
注释
Note:此函数未在 Windows 平台下实现。
参见
setlocale()设置地区信息localeconv()Get numeric formatting information
The value MON_(1-12) has special behavior in Russian locale: it returns declinated month names, that can be used as part of a date string, but not on their own. For instance instead of "Январь" (the proper nominative form) it returns "Января" (form declinated for use in dates). There seems to be no way to get the nominative form of the month name - one has to use translations instead.
If you are looking for the stand-alone (nominative form) of a month, you may not be able to use nl_langinfo(), but with PHP 5.5 you can use something like:
<?php
echo IntlDateFormatter::formatObject(
new DateTime('2013-01-01 00:00:00 Europe/Moscow'),
'LLLL',
'ru_RU');
?>
Note that the format uses the ICU patterns, not the PHP date() patterns.