Funzione PHP date_interval_create_from_date_string ()
Definizione e utilizzo
Il date_interval_create_from_date_string()function è un alias di DateInterval :: createFromDateString . Accetta una stringa che specifica un intervallo e restituisce un oggetto DateInterval.
Sintassi
date_interval_create_from_date_string($time)
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | time (Mandatory) Questo è un valore stringa che specifica la data / intervallo nel formato dei formati relativi in cui si desidera che sia la stringa della data di output. |
Valori restituiti
PHP date_interval_create_from_date_string () restituisce un oggetto DateInterval che rappresenta il valore dell'intervallo specificato.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione 5.3 di PHP e funziona con tutte le versioni successive.
Esempio
L'esempio seguente dimostra l'utilizzo della funzione 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);
?>
Questo produrrà il seguente risultato:
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 questa funzione non è possibile utilizzare stringhe ISO8601 come "P12M" per analizzare gli intervalli necessari per utilizzare il costruttore DateInterval .
Esempio
Nell'esempio seguente stiamo usando le notazioni di stringhe ISO8601 per creare un intervallo -
<?php
$time1 = new DateInterval('P25DP8MP9Y');
print_r($time1);
$time2 = new DateInterval('PT10H');
print_r($time2);
?>
Questo produrrà il seguente risultato:
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
)
Esempio
L'esempio seguente aggiunge un intervallo alla data corrente e stampa i risultati. Qui stiamo usando la funzione date_interval_create_from_date_string per calcolare l'intervallo. -
<?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'));
?>
Questo produrrà il seguente risultato:
Date after 12year 3months 14days: 2032-08-28
Esempio
L'esempio seguente crea intervalli di date utilizzando varie stringhe ISO8601 e le rispettive stringhe normali -
<?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");
?>