PHP.mk документација

DateInterval

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

class.dateinterval.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека class.dateinterval.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
DateInterval

Референца за `class.dateinterval.php` со подобрена типографија и навигација.

class.dateinterval.php

Класата DateInterval

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Вовед

Претставува временски интервал.

Временскиот интервал складира или фиксна количина време (во години, месеци, денови, часови итн.) или релативна временска низа во формат што DateTimeImmutableи DateTimeконструкторите ги поддржуваат.

Поконкретно, информациите во објект од DateInterval класата се инструкција за преминување од еден датум/време на друг датум/време. Овој процес не е секогаш реверзибилен.

Вообичаен начин за креирање на DateInterval објект е со пресметување на разликата помеѓу два датум/време објекти преку (PHP 5 >= 5.3.0, PHP 7, PHP 8).

Бидејќи не постои добро дефиниран начин за споредување на временски интервали, DateInterval инстанци се incomparable.

Синопсис на класата

class DateInterval {
/* Својства */
public int $y;
public int $m;
public int $d;
public int $h;
public int $i;
public int $s;
public float $f;
public int $invert;
public mixed $days;
/* Методи */
public __construct(string $duration)
public static createFromDateString(string $datetime): DateInterval
public format(string $format): string
}

Својства

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Достапните својства наведени подолу зависат од верзијата на PHP и треба да се сметаат како readonly.

y

Број на години.

m

Број на месеци.

d

Број на денови.

h

Број на часови.

i

Број на минути.

s

Број на секунди.

f

DateTimeInterface::diff()

invert

Број на микросекунди, како дел од секунда. 1 Да 0 ако интервалот претставува негативен временски период и инаку. Види.

days

DateInterval::format() Ако објектот DateInterval беше создаден од or DateTimeImmutable::diff()DateTime::diff() days сокети, и го специфицира далечинскиот порт од кој се примаат податоците. Ако сокетот е поврзан-ориентиран, false.

from_string

DateInterval::format() , тогаш ова е вкупниот број на полни денови помеѓу почетниот и крајниот датум. Инаку,DateInterval::createFromDateString() trueФункциите date_string , тогаш вредноста на овој својство ќе биде falseФункциите y to f, invertПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во days својството ќе биде пополнето. Инаку, вредноста ќе биде

date_string

својствата ќе бидат пополнети. , тогаш ова е вкупниот број на полни денови помеѓу почетниот и крајниот датум. Инаку,.

Дневник на промени

Верзија = NULL
8.2.0 На from_string and date_string Низата што се користи како аргумент за DateInterval својствата беа додадени за , тогаш ова е вкупниот број на полни денови помеѓу почетниот и крајниот датум. Инаку, method.
8.2.0 Само y to f, invertПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во days инстанци кои беа создадени користејќи го
7.4.0 DateInterval ќе бидат видливи. DateInterval инстанците сега се неоспорливи; претходно, сите
7.1.0 На f инстанци се сметаа за еднакви.

Содржина

Белешки од корисници 2 забелешки

cb
3 години пред
If you want to reverse a date interval use array_reverse and iterator_to_array. I've found using invert to be unreliable.

<?php
$start_date = date_create("2021-01-01");
$end_date   = date_create("2021-01-05"); // If you want to include this date, add 1 day

$interval = DateInterval::createFromDateString('1 day');
$daterange = new DatePeriod($start_date, $interval ,$end_date);

function show_dates ($dr) {
    foreach($dr as $date1){
        echo $date1->format('Y-m-d').'<br>';
    }
}
 
show_dates ($daterange);
   
echo '<br>';

// reverse the array

$daterange = array_reverse(iterator_to_array($daterange));

show_dates ($daterange);
           
?>

Gives 
 2021-01-01
 2021-01-02
 2021-01-03
 2021-01-04

 2021-01-04
 2021-01-03
 2021-01-02
 2021-01-01
јулио точка некрономикон на ѓимејл точка ком
пред 2 години
More simple example i use to add or subtract.

<?php
$Datetime = new Datetime('NOW', new DateTimeZone('America/Bahia'));
$Datetime->add(DateInterval::createFromDateString('2 day'));

echo $Datetime->format("Y-m-d H:i:s");
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.