PHP date_interval_create_from_date_string() Function

PHP date_interval_create_from_date_string() Function


Hello folks! welcome back to a new edition of our tutorial on PHP. In this tutorial guide, we are going to be studying about the PHP date_interval_create_from_date_string() Function.

date_interval_create_from_date_string() function in PHP is an alias of the PHP DateInterval::createFromDateString(). This PHP function accepts a string specifying an interval and then returns a DateInterval object.

Syntax

Following below is the syntax to use this function -

date_interval_create_from_date_string($time)


Parameter Details

Sr.NoParameter & Description
1

time (Mandatory)

This is a string value specifying the date/interval in relative formats format in which you want the output date string to be.


Return Value

This PHP function returns a DateInterval object representing the given interval value.

PHP Version

This function was first introduced as part of core PHP version 5.3 and, it works with all of the later versions.

Example1

Following example shows the usage of the date_interval_create_from_date_string() function in PHP -

<?php
   $time = "3year + 3months + 26 day + 12 hours+ 30 minutes +23 seconds";
   $interval = date_interval_create_from_date_string($time);
   print_r($interval);
?>

Output

When the above code is executed, it will produce the following result -

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
)

Example2

In the following example, we are making use of the ISO8601 string notations to create an interval -

<?php
  $time1 = new DateInterval('P25DP8MP9Y');
   print_r($time1);
   $time2 = new DateInterval('PT10H');
   print_r($time2);
?>

Output

When the above code is executed, it will produce the following result -

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
)

Example3

Now let us try to add interval with the current date and then print the result. Here we are making use of the built-in PHP date_interval_create_from_date_string() function to calculate the interval -

<?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'));
?>

Output

When the above code is executed, it will produce the following result -

Date after 12year 3months 14days: 2033-03-12

Example4

The following example creates the interval by using various ISO8601 strings as well as their respective normal string -

<?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");
?>


Alright guys! This is where we are going to be rounding up for this tutorial post. In our next tutorial, we are going to be discussing about the date_interval_fomat() Function in PHP.

Do feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.

Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.

Thanks for reading and bye for now.