English | 简体中文 | 繁體中文
查询

IntlCalendar::fieldDifference()函数—用法及示例

「 计算两个日期之间指定字段的差异 」


函数:IntlCalendar::fieldDifference()

适用版本:PHP 5.5.0以上

用法:IntlCalendar::fieldDifference()函数用于计算两个日期之间指定字段的差异。它返回一个数组,包含指定字段的差异值。

语法:public static array IntlCalendar::fieldDifference ( mixed $when , mixed $field )

参数:

  • $when:一个表示日期时间的变量,可以是DateTime对象、DateTimeImmutable对象或表示Unix时间戳的整数。
  • $field:一个表示日期字段的常量,可以是IntlCalendar类中定义的常量之一,如IntlCalendar::FIELD_YEAR、IntlCalendar::FIELD_MONTH等。

返回值:返回一个包含差异值的数组。数组的键是差异字段的名称,值是差异值。

示例:

// 创建一个IntlCalendar对象
$calendar = IntlCalendar::createInstance();

// 设置两个日期,分别为2010年1月1日和2020年12月31日
$when1 = new DateTime("2010-01-01");
$when2 = new DateTime("2020-12-31");

// 计算两个日期之间的年份差异
$difference = IntlCalendar::fieldDifference($when1, IntlCalendar::FIELD_YEAR);
echo "年份差异:" . $difference['year'] . PHP_EOL;

// 计算两个日期之间的月份差异
$difference = IntlCalendar::fieldDifference($when1, IntlCalendar::FIELD_MONTH);
echo "月份差异:" . $difference['month'] . PHP_EOL;

// 计算两个日期之间的天数差异
$difference = IntlCalendar::fieldDifference($when1, IntlCalendar::FIELD_DAY_OF_MONTH);
echo "天数差异:" . $difference['day_of_month'] . PHP_EOL;

输出:

年份差异:10
月份差异:120
天数差异:3652

在上面的示例中,我们创建了一个IntlCalendar对象,并设置了两个日期。然后,我们使用IntlCalendar::fieldDifference()函数计算了两个日期之间的年份差异、月份差异和天数差异,并将差异值输出到屏幕上。

补充纠错
热门PHP函数
分享链接