mirror of
https://github.com/php/php-src.git
synced 2024-10-04 00:06:16 +00:00
2f0775b999
To better support IntlCalendar, added this function: string IntlDateFormatter::formatObject(IntlCalendar|DateTime $obj [, array|int|string $format = null [, string $locale = null). $format is either of the constants IntlDateFormatter::FULL, etc., in which case this format applies to both the date and the time, an array in the form array($dateFormat, $timeFormat), or a string with the SimpleDateFormat pattern. This uses both the Calendar type and the timezone of the passed object to configure the formatter (a GregorianCalendar is forced for DateTime). Some stuff was moved around and slighlt modified to allow for more code reuse.
27 lines
738 B
PHP
27 lines
738 B
PHP
--TEST--
|
|
MessageFormatter::format() invalid date/time argument
|
|
--INI--
|
|
date.timezone=Atlantic/Azores
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded('intl'))
|
|
die('skip intl extension not enabled');
|
|
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
die('skip for ICU 4.8+');
|
|
--FILE--
|
|
<?php
|
|
ini_set("intl.error_level", E_WARNING);
|
|
|
|
$fmt = <<<EOD
|
|
{foo,date}
|
|
EOD;
|
|
|
|
$mf = new MessageFormatter('en_US', $fmt);
|
|
var_dump($mf->format(array("foo" => new stdclass())));
|
|
|
|
--EXPECTF--
|
|
Warning: MessageFormatter::format(): msgfmt_format: invalid object type for date/time (only IntlCalendar and DateTime permitted) in %s on line %d
|
|
|
|
Warning: MessageFormatter::format(): The argument for key 'foo' cannot be used as a date or time in %s on line %d
|
|
bool(false)
|