©
This document uses PHP Chinese website manual Release
(PHP 5.5.0, PECL >= 3.0.0a1)
IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode
面向对象风格
过程化风格
$cal
)Returns whether the current date/time interpretations is lenient (the default). If that is case, some out of range values for fields will be accepted instead of raising an error.
cal
The IntlCalendar resource.
A bool representing whether the calendar is set to lenient mode.
Example #1 IntlCalendar::isLenient()
<?php
ini_set ( 'date.timezone' , 'Europe/Lisbon' );
ini_set ( 'intl.default_locale' , 'pt_PT' );
ini_set ( 'intl.use_exceptions' , '1' );
$cal = new IntlGregorianCalendar ( 2013 , 6 , 1 );
var_dump ( IntlDateFormatter :: formatObject ( $cal ), // 01/07/2013, 00:00:00
$cal -> isLenient ()); // true
$cal -> set ( IntlCalendar :: FIELD_DAY_OF_MONTH , 33 );
var_dump ( IntlDateFormatter :: formatObject ( $cal )); // 02/08/2013, 00:00:00
$cal -> setLenient ( false );
var_dump ( $cal -> isLenient ()); // false
$cal -> set ( IntlCalendar :: FIELD_DAY_OF_MONTH , 33 );
var_dump ( IntlDateFormatter :: formatObject ( $cal )); // error
以上例程会输出:
string(20) "01/07/2013, 00:00:00" bool(true) string(20) "02/08/2013, 00:00:00" bool(false)Fatal error: Uncaught exception 'IntlException' with message 'datefmt_format_object: error obtaining instant from IntlCalendar' in /home/foobar/example.php:16 Stack trace: #0 /home/foobar/example.php(16): IntlDateFormatter::formatObject(Object(IntlGregorianCalendar)) #1 {main} thrown in /home/foobar/example.php on line 16