
date_interval_create_from_date_string()函数从字符串的相关部分建立一个 DateInterval。
定义和用法
date_interval_create_from_date_string()函数是DateInterval :: createFromDateString的别名。这接受一个指定间隔的字符串,并返回一个DateInterval对象。
语法
date_interval_create_from_date_string($time)
参数
| 序号 | 参数及说明 | 
|---|---|
| 1 | time (必需) 这是一个字符串值,以您希望输出日期字符串采用的相对格式格式指定日期/间隔。 | 
返回值
date_interval_create_from_date_string()返回一个DateInterval对象,该对象表示给定的间隔值。
PHP版本
此函数最初是在PHP版本5.3中引入的,并且可以在所有更高版本中使用。
在线示例
以下示例演示了date_interval_create_from_date_string()函数的用法-
<?php $time = "3year + 3months + 26 day + 12 hours+ 30 minutes +23 seconds"; $interval = date_interval_create_from_date_string($time); print_r($interval); ?>测试看看‹/›
输出结果
DateInterval Object ( [y] => 3 [m] => 3 [d] => 26 [h] => 12 [i] => 30 [s] => 23 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )
在此函数中,您无法使用ISO8601字符串(例如“ P12M”)来解析此类间隔,需要使用DateInterval构造函数。
在线示例
在以下示例中,我们使用ISO8601字符串表示法创建间隔-
<?php
  $time1 = new DateInterval('P25DP8MP9Y');
   print_r($time1);
   $time2 = new DateInterval('PT10H');
   print_r($time2);
?>测试看看‹/›输出结果
DateInterval Object ( [y] => 9 [m] => 8 [d] => 25 [h] => 0 [i] => 0 [s] => 0 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 ) DateInterval Object ( [y] => 0 [m] => 0 [d] => 0 [h] => 10 [i] => 0 [s] => 0 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )
在线示例
以下示例向当前日期添加时间间隔并打印结果。在这里,我们使用date_interval_create_from_date_string函数来计算时间间隔。-
<?php
   $date = date_create(); 
   $str = "12year 3months 14days";
   $interval = date_interval_create_from_date_string($str);
   $res1 = date_add($date, $interval); 
   print("Date after ".$str);
   print(": ".date_format($res1, 'Y-m-d'));
?>测试看看‹/›输出结果
Date after 12year 3months 14days: 2032-08-28
在线示例
以下示例使用各种ISO8601字符串及其各自的常规字符串创建日期间隔-
<?php
   print(new DateInterval('P12D')."\n");
   print(DateInterval::createFromDateString('12 day')."\n");
   print(new DateInterval('P7')."\n");
   print(DateInterval::createFromDateString('7 months')."\n");
   print(new DateInterval('P12Y')."\n");
   print(DateInterval::createFromDateString('12 years')."\n");
   print(new DateInterval('PT9H')."\n");
   print(DateInterval::createFromDateString('9 hours')."\n");
   print(new DateInterval('PT19i')."\n");
   print(DateInterval::createFromDateString('19 minutes')."\n");
   print(new DateInterval('PT45S')."\n");
   print(DateInterval::createFromDateString('45 seconds')."\n");
?>
                    PHP imagealphablending() 函数设定图像的混色模式用法及示例 PHP imageaffinematrixconcat() 函数连接两个矩阵用法及示例
