©
本文档使用
php.cn手册 发布
(PHP 4 >= 4.1.0, PHP 5)
nl_langinfo — Query language and locale information
$item
)nl_langinfo() is used to access individual elements of the locale categories. Unlike localeconv() , which returns all of the elements, nl_langinfo() allows you to select any specific element.
item
item
may be an integer value of the element or the
constant name of the element. The following is a list of constant names
for item
that may be used and their description.
Some of these constants may not be defined or hold no value for certain
locales.
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_STR | String for Ante meridian. |
PM_STR | String for Post meridian. |
D_T_FMT | String that can be used as the format string for strftime() to represent time and date. |
D_FMT | String that can be used as the format string for strftime() to represent date. |
T_FMT | String that can be used as the format string for strftime() to represent time. |
T_FMT_AMPM | String that can be used as the format string for strftime() to represent time in 12-hour format with ante/post meridian. |
ERA | Alternate era. |
ERA_YEAR | Year in alternate era format. |
ERA_D_T_FMT | Date and time in alternate era format (string can be used in strftime() ). |
ERA_D_FMT | Date in alternate era format (string can be used in strftime() ). |
ERA_T_FMT | Time in alternate era format (string can be used in strftime() ). |
LC_MONETARY Category Constants | |
INT_CURR_SYMBOL | International currency symbol. |
CURRENCY_SYMBOL | Local currency symbol. |
CRNCYSTR | Same value as CURRENCY_SYMBOL . |
MON_DECIMAL_POINT | Decimal point character. |
MON_THOUSANDS_SEP | Thousands separator (groups of three digits). |
MON_GROUPING | Like "grouping" element. |
POSITIVE_SIGN | Sign for positive values. |
NEGATIVE_SIGN | Sign for negative values. |
INT_FRAC_DIGITS | International fractional digits. |
FRAC_DIGITS | Local fractional digits. |
P_CS_PRECEDES | Returns 1 if CURRENCY_SYMBOL precedes a positive value. |
P_SEP_BY_SPACE | Returns 1 if a space separates CURRENCY_SYMBOL from a positive value. |
N_CS_PRECEDES | Returns 1 if CURRENCY_SYMBOL precedes a negative value. |
N_SEP_BY_SPACE | Returns 1 if a space separates CURRENCY_SYMBOL from a negative value. |
P_SIGN_POSN |
|
N_SIGN_POSN | |
LC_NUMERIC Category Constants | |
DECIMAL_POINT | Decimal point character. |
RADIXCHAR | Same value as DECIMAL_POINT . |
THOUSANDS_SEP | Separator character for thousands (groups of three digits). |
THOUSEP | Same value as THOUSANDS_SEP . |
GROUPING | |
LC_MESSAGES Category Constants | |
YESEXPR | Regex string for matching "yes" input. |
NOEXPR | Regex string for matching "no" input. |
YESSTR | Output string for "yes". |
NOSTR | Output string for "no". |
LC_CTYPE Category Constants | |
CODESET | Return a string with the name of the character encoding. |
Returns the element as a string, or FALSE
if item
is not valid.
Note: 此函数未在 Windows 平台下实现。
[#1] mark at moderndeveloper dot com [2013-11-15 15:23:42]
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.
[#2] avatar_at_hot_ee [2006-03-11 07:58:08]
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.