English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Manuale delle funzioni di data e ora PHP
La funzione date_interval_create_from_date_string() costruisce un DateInterval a partire dal relativo segmento di una stringa.
date_interval_create_from_date_string()La funzione èDateInterval :: createFromDateStringAlias. Questa accetta una stringa che specifica un intervallo e restituisce un oggetto DateInterval.
date_interval_create_from_date_string($time)
Numero di ordine | Parametri e descrizione |
---|---|
1 | Tempo (obbligatorio) Questa è una stringa che specifica il formato relativo della data/intervallo da output come desiderato. |
La funzione date_interval_create_from_date_string() restituisce un oggetto DateInterval che rappresenta il valore di intervallo fornito.
Questa funzione è stata introdotta originariamente nella versione PHP 5.3 e può essere utilizzata in tutte le versioni successive.
Esempio di dimostrazione-date_interval_create_from_date_string()Uso della funzione-
<?php $time = "3year + 3months + 26 day + 12 hours+ 30 minutes +23 seconds"; $interval = date_interval_create_from_date_string($time); print_r($interval); ?>Testa a vedere‹/›
Risultato di output
Oggetto DateInterval ( [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 puoi usare la stringa ISO8601 (ad esempio 'P12M') per analizzare questo tipo di intervallo, devi usareDateIntervalcostruttore.
In questo esempio, usiamo la notazione stringa ISO8601 per creare l'intervallo-
<?php $time1 = new DateInterval('P25DP8MP9Y'); print_r($time1); $time2 = new DateInterval('PT10H'); print_r($time2); ?>Testa a vedere‹/›
Risultato di output
Oggetto DateInterval ( [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 ) Oggetto DateInterval ( [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 di aggiunta di un intervallo di tempo alla data corrente e stampa del risultato. In questo caso, usiamodate_interval_create_from_date_stringfunzione per calcolare l'intervallo di tempo. -
<?php $date = date_create(); $str = "12 anni 3 mesi 14 giorni"; $interval = date_interval_create_from_date_string($str); $res1 = date_add($date, $interval); stampa("Data dopo ".$str); stampa(": ".date_format($res1, 'Y-m-d')); ?>Testa a vedere‹/›
Risultato di output
Data dopo 12 anni 3 mesi 14 giorni: 2032-08-28
Esempio seguente utilizza vari stringhe ISO8601 e le loro stringhe convenzionali per creare intervallo di date-
<?php stampa(new DateInterval('P12D')."\n"); stampa(DateInterval::createFromDateString('12 giorni')."\n"); stampa(new DateInterval('P7')."\n"); stampa(DateInterval::createFromDateString('7 mesi')."\n"); stampa(new DateInterval('P12Y')."\n"); stampa(DateInterval::createFromDateString('12 anni')."\n"); stampa(new DateInterval('PT9H')."\n"); stampa(DateInterval::createFromDateString('9 ore')."\n"); stampa(new DateInterval('PT19i')."\n"); stampa(DateInterval::createFromDateString('19 minuti')."\n"); stampa(new DateInterval('PT45S')."\n"); stampa(DateInterval::createFromDateString('45 secondi')."\n"); ?>