定義和用法
這個date_interval_create_from_date_string()函數是 DateInterval::createFromDateString 的別名。這接受一個指定間隔的字符串並返回一個 DateInterval 對象。
用法
date_interval_create_from_date_string($time)
參數
Sr.No | 參數及說明 |
---|---|
1 |
time (Mandatory) 這是一個字符串值,以您希望輸出日期字符串的相對格式格式指定日期/間隔。 |
返回值
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");
?>
相關用法
- PHP date_interval_format()用法及代碼示例
- PHP date_isodate_set()用法及代碼示例
- PHP date_default_timezone_set()用法及代碼示例
- PHP date_create_immutable()用法及代碼示例
- PHP date_get_last_errors()用法及代碼示例
- PHP date_parse()用法及代碼示例
- PHP date_offset_get()用法及代碼示例
- PHP date_create()用法及代碼示例
- PHP date_diff()用法及代碼示例
- PHP date_create(), date_format(), date_add()用法及代碼示例
- PHP date_default_timezone_get()用法及代碼示例
- PHP date_timestamp_set()用法及代碼示例
- PHP date_time_set()用法及代碼示例
- PHP date_add()用法及代碼示例
- PHP date_timestamp_get()用法及代碼示例
- PHP date_create_immutable_from_format()用法及代碼示例
- PHP date_format()用法及代碼示例
- PHP date_timezone_set()用法及代碼示例
- PHP date_create_from_format()用法及代碼示例
- PHP date_sub()用法及代碼示例
注:本文由純淨天空篩選整理自 PHP date_interval_create_from_date_string() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。