函数:IntlDateFormatter::getCalendarObject()
适用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8
用法: IntlDateFormatter::getCalendarObject() 方法用于获取与日期格式化程序关联的日历对象。它返回一个 Calendar 对象,您可以使用该对象执行与日期相关的操作,如日期计算、格式化和解析。
语法: public IntlCalendar IntlDateFormatter::getCalendarObject ( void )
参数: 该方法没有参数。
返回值: 返回一个 IntlCalendar 对象,表示与日期格式化程序关联的日历。
示例:
$date = new DateTime('2022-05-15');
$formatter = new IntlDateFormatter('en_US', IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN);
$calendar = $formatter->getCalendarObject();
// 设置日期为当前日期
$calendar->setTime($date->getTimestamp());
// 获取日期的星期几
$weekday = $calendar->get(IntlCalendar::DOW_IN_WEEK);
// 获取日期的月份
$month = $calendar->get(IntlCalendar::MONTH);
// 获取日期的年份
$year = $calendar->get(IntlCalendar::YEAR);
echo "Today is " . $calendar->getDisplayName(IntlCalendar::DAY_OF_WEEK, IntlCalendar::LONG) . ", " . $calendar->getDisplayName(IntlCalendar::MONTH, IntlCalendar::LONG) . " " . $calendar->get(IntlCalendar::DAY_OF_MONTH) . ", " . $calendar->get(IntlCalendar::YEAR);
在上面的示例中,我们首先创建了一个 DateTime 对象表示日期,然后创建了一个 IntlDateFormatter 对象来格式化日期。然后,我们使用 getCalendarObject()
方法获取与日期格式化程序关联的日历对象。接下来,我们使用日历对象执行一些操作,如设置日期和获取日期的各个部分。最后,我们使用 getDisplayName()
方法获取星期几和月份的本地化名称,并将它们打印出来。