PHP date_interval_create_from_date_string()函数

PHP date_interval_create_from_date_string()函数

定义和用法

date_interval_create_from_date_string() 函数是DateInterval::createFromDateString()的别名。它接受一个指定时间间隔的字符串,并返回一个DateInterval对象。

语法

date_interval_create_from_date_string($time)

参数

序号 参数与描述
1 $time(必填) 这是一个字符串值,用于指定相对格式中您想要输出的日期字符串的日期/间隔。

返回值

PHP 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
)

在这个函数中,你不能使用” P12M “这样的 ISO8601 字符串来解析这样的间隔,你需要使用 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");
?>

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程