IntlDateFormatter::setLenient

datefmt_set_lenient

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::setLenient -- datefmt_set_lenient β€” УстанавливаСт мягкий Ρ€Π΅ΠΆΠΈΠΌ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°

ОписаниС

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ

public function IntlDateFormatter::setLenient(bool $lenient): void

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ

function datefmt_set_lenient(IntlDateFormatter $formatter, bool $lenient): void

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, являСтся Π»ΠΈ Ρ€Π΅ΠΆΠΈΠΌ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° строгим ΠΈΠ»ΠΈ мягким ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² точности Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ мягкого синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° позволяСт синтаксичСскому Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π΄Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, анализируя ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС для получСния значСния. Π›ΠΈΡˆΠ½ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π΅Π», нСраспознанныС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΈΠ»ΠΈ нСдопустимыС значСния ("February 30th") Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

formatter

РСсурс срСдства форматирования.

lenient

УстанавливаСт, являСтся Π»ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ мягким ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ true (мягкий).

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΈΠ»ΠΈ false, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования datefmt_set_lenient()

<?php
$fmt
= datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'dd/MM/yyyy'
);
echo
'Мягкий Ρ€Π΅ΠΆΠΈΠΌ срСдства форматирования : ';
if (
$fmt->isLenient()) {
echo
'ДА';
} else {
echo
'НЕВ';
}
datefmt_parse($fmt, '35/13/1971');
echo
"\nΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ '35/13/1971'.\nΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ : " . datefmt_parse($fmt, '35/13/1971');
if (
intl_get_error_code() != 0) {
echo
"\nΠ‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС : " . intl_get_error_message();
echo
"\nКод ошибки : " . intl_get_error_code();
}
datefmt_set_lenient($fmt, false);
echo
"\nΠ’Π΅ΠΏΠ΅Ρ€ΡŒ мягкий Ρ€Π΅ΠΆΠΈΠΌ срСдства форматирования : ";
if (
$fmt->isLenient()) {
echo
'ДА';
} else {
echo
'НЕВ';
}
datefmt_parse($fmt, '35/13/1971');
echo
"\nΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ '35/13/1971'.\nΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ : " . datefmt_parse($fmt, '35/13/1971');
if (
intl_get_error_code() != 0) {
echo
"\nΠ‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС : ".intl_get_error_message();
echo
"\nКод ошибки : ".intl_get_error_code();
}

?>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ стилС

<?php
$fmt
= new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'dd/MM/yyyy'
);
echo
'Мягкий Ρ€Π΅ΠΆΠΈΠΌ срСдства форматирования : ';
if (
$fmt->isLenient()) {
echo
'ДА';
} else {
echo
'НЕВ';
}
$fmt->parse('35/13/1971');
echo
"\nΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ '35/13/1971'.\nΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ : " . $fmt->parse('35/13/1971');
if (
intl_get_error_code() != 0) {
echo
"\nΠ‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС : " . intl_get_error_message();
echo
"\nКод ошибки : " . intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo
"\nΠ’Π΅ΠΏΠ΅Ρ€ΡŒ мягкий Ρ€Π΅ΠΆΠΈΠΌ срСдства форматирования : ";
if (
$fmt->isLenient()) {
echo
'ДА';
} else {
echo
'НЕВ';
}
$fmt->parse('35/13/1971');
echo
"\nΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ '35/13/1971'.\nΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ : " . $fmt->parse('35/13/1971');
if (
intl_get_error_code() != 0) {
echo
"\nΠ‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС : " . intl_get_error_message();
echo
"\nКод ошибки : " . intl_get_error_code();
}

?>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Мягкий Ρ€Π΅ΠΆΠΈΠΌ срСдства форматирования : ДА
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ '35/13/1971'.
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ : 66038400
Π’Π΅ΠΏΠ΅Ρ€ΡŒ мягкий Ρ€Π΅ΠΆΠΈΠΌ срСдства форматирования : НЕВ
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ '35/13/1971'.
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ :
Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС : Date parsing failed: U_PARSE_ERROR
Код ошибки : 9

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • datefmt_is_lenient() - ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡΠ½ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ для IntlDateFormatter
  • datefmt_create() - Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ срСдство форматирования Π΄Π°Ρ‚Ρ‹
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы