PHP date_interval_format() 函数用法及示例

PHP Date & Time 函数手册

date_interval_format()函数用于格式化时间间隔。

定义和用法

date_interval_format()函数是DateInterval::format 的别名。此函数接受间隔和格式字符串作为参数,并以指定格式格式化给定间隔。

语法

date_interval_format($interval, $format)

参数

序号参数及说明
1

interval (必需)

这是您需要格式化的DateInterval的对象。

2

format (必需)

这是一个字符串值,指定格式。

返回值

此函数返回格式化间隔

PHP版本

此函数最初是在PHP版本5.3中引入的,并且可以在所有更高版本中使用。

在线示例

以下示例演示了date_interval_format()函数的用法-

<?php
  $interval = new DateInterval('P25DP8MP9Y');
  $format = "%d days";
  $res = date_interval_format($interval, $format);
  print($res);  
?>
测试看看‹/›

输出结果

25 days

在线示例

与其他日期/时间函数不同,date_interval_format()不会重新计算日期和时间字符串中的结转点。因此,如果您传递的日期/时间值超出了它们的范围,它们将被格式化为:

<?php
   $interval = new DateInterval('P45M');
   $format = "%m 月";
   $res1 = date_interval_format($interval, $format);
   print($res1); 
  
   $res2 = date_interval_format(new DateInterval('PT30H'), "%h 小时");
   print("\n".$res2);
?>
测试看看‹/›

输出结果

45 月
30 小时

在线示例

以下示例计算给定日期与当前日期之间的差,并使用date_interval_format函数格式化结果-

<?php
   $date1 = date_create("1989-09-25");
   $date2 = date_create("2012-09-09");
   $interval = date_diff($date1, $date2);
   $res = date_interval_format($interval, '%Y 年 %d 天');
   print($res);  

?>
测试看看‹/›

输出结果:

22 年 15 天

在线示例

<?php
print(date_interval_format(new DateInterval('P12D'), "%d days")."\n");
print(date_interval_format(new DateInterval('P7M'), "%m months")."\n");
print(date_interval_format(new DateInterval('P12Y'), "%y years")."\n");
print(date_interval_format(new DateInterval('PT9H'), "%h hours")."\n");
print(date_interval_format(new DateInterval('PT45S'), "%s seconds")."\n");
?>
测试看看‹/›

输出结果

22 years 7 days
12 days
7 months
12 years
9 hours
45 seconds