English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Basic Tutorial

PHP Advanced Tutorial

PHP & MySQL

PHP Reference Manual

PHP date_interval_create_from_date_string() Function Usage and Example

PHP Date & Time Function Manual

The date_interval_create_from_date_string() function builds a DateInterval from the relevant part of the string.

Definition and Usage

date_interval_create_from_date_string()Function isDateInterval :: createFromDateStringalias. This accepts a string specifying the interval and returns a DateInterval object.

Syntax

date_interval_create_from_date_string($time)

Parameter

NumberParameters and Description
1

time (required)

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

Return Value

date_interval_create_from_date_string() returns a DateInterval object representing the given interval value.

PHP version

This function was originally introduced in PHP version5.3introduced and can be used in all higher versions.

Online Examples

The following example demonstratesdate_interval_create_from_date_string()Usage of the function-

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

Output results

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
)

In this function, you cannot use ISO8601strings (e.g. " P12M”)to parse such intervals, you need to useDateIntervalconstructor.

Online Examples

In the following example, we use the ISO8601String representation of the interval-

<?php
  $time1 = new DateInterval('P25DP8MP9Y');
   print_r($time1);
   $time2 = new DateInterval('PT10H');
   print_r($time2);
?>
Test see‹/›

Output results

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
)

Online Examples

The following examples add time intervals to the current date and print the results. Here, we usedate_interval_create_from_date_stringfunction to calculate time intervals.-

<?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'));
?>
Test see‹/›

Output results

Date after 12year 3months 14days: 2032-08-28

Online Examples

The following examples use various ISO8601String and their respective regular string creation date intervals-

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