函数名:IntlDateFormatter::formatObject()
适用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8
用法:这个函数用于将日期对象格式化为字符串。它是IntlDateFormatter类的一个方法,该类是PHP国际化扩展(Intl)提供的一个类,用于处理日期和时间的国际化。
语法:public string IntlDateFormatter::formatObject ( mixed $object [, mixed $format = NULL [, mixed $locale = NULL ]] )
参数:
- object: 要格式化的日期对象。可以是DateTime对象、DateTimeImmutable对象或者UNIX时间戳(以秒为单位)。
- format: 可选参数,表示要应用的格式模式。如果未提供该参数,则使用IntlDateFormatter对象的默认格式。
- locale: 可选参数,表示要使用的区域设置。如果未提供该参数,则使用IntlDateFormatter对象的默认区域设置。
返回值:返回格式化后的日期字符串。
示例:
$formatter = new IntlDateFormatter('en_US', IntlDateFormatter::FULL, IntlDateFormatter::FULL);
$date = new DateTime('2022-01-01 12:34:56');
echo $formatter->formatObject($date);
// 输出:Saturday, January 1, 2022 at 12:34:56 PM GMT
echo $formatter->formatObject($date, IntlDateFormatter::SHORT);
// 输出:1/1/22, 12:34 PM
echo $formatter->formatObject(time());
// 输出:Saturday, January 1, 2022 at 12:34:56 PM GMT
上述示例中,我们首先创建了一个IntlDateFormatter对象,指定了区域设置为'en_US',日期格式为FULL,时间格式为FULL。然后,我们创建了一个DateTime对象,表示2022年1月1日12时34分56秒。通过调用formatObject()方法,将日期对象格式化为字符串并输出。
在第二个示例中,我们传递了IntlDateFormatter::SHORT作为第二个参数,表示使用简短的日期格式。输出结果中的日期格式变为了短格式。
在第三个示例中,我们传递了time()函数的返回值作为日期对象,而不是直接传递DateTime对象。formatObject()方法也可以接受UNIX时间戳作为输入。
请注意,要使用IntlDateFormatter类,需要安装并启用PHP的Intl扩展。