diff --git a/reference/datetime/book.xml b/reference/datetime/book.xml index 3de1577626..7ec3249bff 100644 --- a/reference/datetime/book.xml +++ b/reference/datetime/book.xml @@ -1,7 +1,7 @@ - + - + Модуль работы с датой и временем Дата и время diff --git a/reference/datetime/dateinterval/construct.xml b/reference/datetime/dateinterval/construct.xml index f388019032..b1f0f7f2a1 100644 --- a/reference/datetime/dateinterval/construct.xml +++ b/reference/datetime/dateinterval/construct.xml @@ -1,5 +1,5 @@ - + @@ -180,13 +180,13 @@ $someDate->add($interval); // Преобразовываем интервал в строку echo $interval->format("%d"); - -?> ]]> &example.outputs; - 7 + @@ -199,8 +199,6 @@ echo $interval->format("%d"); $interval = new DateInterval('P1W2D'); var_dump($interval); - -?> ]]> &example.outputs.82; diff --git a/reference/datetime/dateinterval/createfromdatestring.xml b/reference/datetime/dateinterval/createfromdatestring.xml index 9622fb2fa0..da480826dc 100644 --- a/reference/datetime/dateinterval/createfromdatestring.xml +++ b/reference/datetime/dateinterval/createfromdatestring.xml @@ -1,5 +1,5 @@ - + @@ -109,7 +109,7 @@ Пример разбора допустимых интервалов времени - + ]]> @@ -153,14 +151,14 @@ echo $i->format('%d %h %i'), "\n"; $i = DateInterval::createFromDateString('1 year - 10 days'); echo $i->format('%y %d'), "\n"; - -?> ]]> &example.outputs; - - 449 2 70 - 1 -10 + + @@ -177,8 +175,6 @@ var_dump($i); $i = DateInterval::createFromDateString('last weekday'); var_dump($i); - -?> ]]> &example.outputs.82; diff --git a/reference/datetime/dateinterval/format.xml b/reference/datetime/dateinterval/format.xml index 6f11cc2e86..15b1544721 100644 --- a/reference/datetime/dateinterval/format.xml +++ b/reference/datetime/dateinterval/format.xml @@ -1,5 +1,5 @@ - + @@ -14,7 +14,7 @@ stringformat - Форматирует интервал. + Метод форматирует интервал. @@ -186,8 +186,6 @@ $interval = new DateInterval('P2Y4DT6H8M'); echo $interval->format('%d days'); - -?> ]]> &example.outputs; @@ -207,8 +205,6 @@ echo $interval->format('%d days'); $interval = new DateInterval('P32D'); echo $interval->format('%d days'); - -?> ]]> &example.outputs; @@ -233,13 +229,11 @@ $january = new DateTime('2010-01-01'); $february = new DateTime('2010-02-01'); $interval = $february->diff($january); -// %a выведет общее количество дней. +// Модификатор %a выведет общее количество дней. echo $interval->format('%a total days')."\n"; -// В то время как %d выведет только число дней, не покрытых месяцем +// В то время как модификатор %d выведет только количество дней, не покрытых месяцем echo $interval->format('%m month, %d days'); - -?> ]]> &example.outputs; diff --git a/reference/datetime/dateperiod.xml b/reference/datetime/dateperiod.xml index 110e9e16ee..7be328c329 100644 --- a/reference/datetime/dateperiod.xml +++ b/reference/datetime/dateperiod.xml @@ -1,5 +1,5 @@ - + @@ -12,11 +12,12 @@
&reftitle.intro; - Представляет временной период. + Объекты класса представляют временной период. - Позволяет перемещаться в заданном временном интервале - на равные промежутки времени. + На основе объектов класса перебирают набор дат и времени + с повторением через равные временные интервалы + заданное количество раз или до заданной конечной даты.
@@ -115,7 +116,10 @@ int - Исключает начальную дату, используется в DatePeriod::__construct. + + Константа исключает начальную дату из набора дат и времени для перебора, + передаётся в параметр опций метода DatePeriod::__construct. + @@ -125,7 +129,10 @@ int - Включает дату окончания, используется в DatePeriod::__construct. + + Константа включает конечную дату в набор дат и времени для перебора, + передаётся в параметр опций метода DatePeriod::__construct. + @@ -140,24 +147,24 @@ recurrences - Минимальное количество экземпляров, возвращаемое итератором. + Минимальное количество экземпляров, которое верёт итератор. - Если количество повторений было явно передано с помощью параметра - recurrences в конструктор экземпляра DatePeriod, - то это свойство содержит это значение, плюс один, - если дата начала не была отключена - с помощью константы DatePeriod::EXCLUDE_START_DATE, - плюс один, если дата окончания была включена - с помощью константы DatePeriod::INCLUDE_END_DATE. + При передаче количества повторений через параметр + recurrences в конструктор экземпляра DatePeriod + свойство объекта содержит это значение, плюс один, + если начальную дату не отключили + константой DatePeriod::EXCLUDE_START_DATE, + плюс один, если конечную дату исключили + константой DatePeriod::INCLUDE_END_DATE. - Если количество повторений не было передано явно, то это свойство содержит - минимальное количество возвращённых экземпляров. - Это будет 0, плюс один, если дата начала не отключена - с помощью константы DatePeriod::EXCLUDE_START_DATE, - плюс один, если дата окончания была включена - с помощью константы DatePeriod::INCLUDE_END_DATE. + При пропуске количества повторений свойство объекта содержит + минимальное количество возвращаемых экземпляров — + 0, плюс один, если начальную дату не включили + константой DatePeriod::EXCLUDE_START_DATE, + плюс один, если конечную дату исключили + константой DatePeriod::INCLUDE_END_DATE. @@ -170,7 +177,7 @@ $end = new DateTime('2021-12-31 00:00:00'); $interval = new DateInterval('P1M'); $recurrences = 5; -// Повторения явно задаются в конструкторе +// Повторения устанавливаются через конструктор $period = new DatePeriod($start, $interval, $recurrences, DatePeriod::EXCLUDE_START_DATE); echo $period->recurrences, "\n"; @@ -186,17 +193,17 @@ echo $period->recurrences, "\n"; $period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE); echo $period->recurrences, "\n"; - -?> ]]> &example.outputs; + @@ -233,7 +240,7 @@ echo $period->recurrences, "\n"; current - В процессе итерации будет содержать текущую дату периода. + В процессе итерации содержит текущую дату периода. @@ -270,13 +277,13 @@ echo $period->recurrences, "\n"; 8.4.0 - Константы класса теперь типизированы. + Типизировали константы класса. 8.2.0 - Были добавлены константа DatePeriod::INCLUDE_END_DATE + Добавили константу DatePeriod::INCLUDE_END_DATE и свойство include_end_date. @@ -285,7 +292,7 @@ echo $period->recurrences, "\n"; Класс DatePeriod теперь реализует интерфейс IteratorAggregate. - Ранее вместо этого был реализован интерфейс Traversable. + Раньше вместо этого класс реализовывал интерфейс Traversable. diff --git a/reference/datetime/dateperiod/createfromiso8601string.xml b/reference/datetime/dateperiod/createfromiso8601string.xml index 4e841a6f2c..e8caafc905 100644 --- a/reference/datetime/dateperiod/createfromiso8601string.xml +++ b/reference/datetime/dateperiod/createfromiso8601string.xml @@ -1,5 +1,5 @@ - + @@ -15,8 +15,8 @@ intoptions0 - Создаёт новый объект DatePeriod из строки в формате стандарта ISO8601, как указано - в параметре specification. + Метод создаёт новый объект DatePeriod из строки в формате стандарта ISO8601, + как указывает описание параметра specification. @@ -31,7 +31,7 @@ стандарта ISO 8601. - Пример принимаемой спецификации интервала стандарта ISO 8601 — это строка + Пример принимаемой спецификации интервала стандарта ISO 8601 — строка R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M, которая указывает: @@ -97,11 +97,11 @@ &reftitle.returnvalues; - Возвращает созданный объект DatePeriod. + Метод возвращает созданный объект DatePeriod. - С объектом, созданным этим методом DatePeriod, можно - работать как с итератором, чтобы создавать объекты + С объектом DatePeriod, который создаётся методом, + работают как с итератором для генерации объектов DateTimeImmutable. @@ -109,8 +109,8 @@ &reftitle.errors; - Выбрасывает исключение DateMalformedPeriodStringException, - если значение параметра specification не может быть разобрано как допустимое значение периода + Метод выбрасывает исключение DateMalformedPeriodStringException, + если значение параметра specification невозможно разобрать как допустимое значение периода в формате стандарта ISO 8601. @@ -119,20 +119,19 @@ &reftitle.examples; - Пример использования метода DatePeriod::createFromISO8601String + Пример создания из строки в формате ISO8601 объекта периода времени методом DatePeriod::createFromISO8601String format('Y-m-d'), "\n"; } -?> ]]> &example.outputs; diff --git a/reference/datetime/dateperiod/getdateinterval.xml b/reference/datetime/dateperiod/getdateinterval.xml index 946ed05793..495d29142c 100644 --- a/reference/datetime/dateperiod/getdateinterval.xml +++ b/reference/datetime/dateperiod/getdateinterval.xml @@ -1,11 +1,11 @@ - + DatePeriod::getDateInterval - Возвращает интервал + Возвращает временной интервал @@ -17,8 +17,8 @@ - Возвращает объект DateInterval, представляющий - интервал, использованный для создания периода. + Метод возвращает объект (object) DateInterval, + который представляет временной интервал для периода времени. @@ -30,21 +30,21 @@ &reftitle.returnvalues; - Возвращает объект DateInterval + Метод возвращает объект DateInterval &reftitle.examples; - Пример использования <methodname>DatePeriod::getDateInterval</methodname> + Пример получения интервала методом <methodname>DatePeriod::getDateInterval</methodname> getDateInterval(); echo $interval->format('%d day'); -?> ]]> &example.outputs; diff --git a/reference/datetime/dateperiod/getenddate.xml b/reference/datetime/dateperiod/getenddate.xml index 94d55704b7..0a60d0b38f 100644 --- a/reference/datetime/dateperiod/getenddate.xml +++ b/reference/datetime/dateperiod/getenddate.xml @@ -1,5 +1,5 @@ - + @@ -17,7 +17,7 @@ - Возвращает конечную дату периода. + Метод возвращает конечную дату периода времени. @@ -29,38 +29,39 @@ &reftitle.returnvalues; - Возвращает &null;, если DatePeriod не содержит + Метод возвращает значение &null;, если объект DatePeriod не содержит конечной даты. Например, при инициализации с параметром - recurrences или - isostr без указания конечной даты. + recurrences + или isostr без указания конечной даты. - Возвращает объект DateTimeImmutable, - когда DatePeriod инициализирован с объектом + Метод возвращает объект DateTimeImmutable, + если объект DatePeriod инициализировали с объектом DateTimeImmutable в качестве параметра end. - В противном случае возвращает клонированный объект (object) - DateTime, представляющий дату окончания. + В остальных случаях метод возвращает клонированный объект (object) + DateTime, который представляет конечную дату. &reftitle.examples; - Пример использования <methodname>DatePeriod::getEndDate</methodname> + Пример получения конечной даты методом <methodname>DatePeriod::getEndDate</methodname> getEndDate(); echo $start->format(DateTime::ISO8601); -?> ]]> &examples.outputs; @@ -71,17 +72,18 @@ echo $start->format(DateTime::ISO8601); - Пример использования <methodname>DatePeriod::getEndDate</methodname> без даты окончания + Пример получения конечной даты методом <methodname>DatePeriod::getEndDate</methodname> из объекта без конечной даты getEndDate()); -?> ]]> &example.outputs; diff --git a/reference/datetime/dateperiod/getrecurrences.xml b/reference/datetime/dateperiod/getrecurrences.xml index c81e6a8446..f31ed34f59 100644 --- a/reference/datetime/dateperiod/getrecurrences.xml +++ b/reference/datetime/dateperiod/getrecurrences.xml @@ -1,10 +1,10 @@ - + DatePeriod::getRecurrences - Получает количество повторов + Получает количество повторений @@ -15,7 +15,7 @@ - Получает количество повторов. + Метод получает количество повторений. @@ -27,8 +27,8 @@ &reftitle.returnvalues; - Возвращает количество повторений, заданное путём явной передачи параметра $recurrences - в конструктор класса DatePeriod или &null; в противном случае. + Метод возвращает количество повторений, которое указали через параметр $recurrences + конструктора класса DatePeriod, иначе значение &null;. @@ -36,7 +36,7 @@ &reftitle.examples; - Различные значения для <methodname>DatePeriod::getRecurrences</methodname> + Пример значений в результатах метода <methodname>DatePeriod::getRecurrences</methodname> getRecurrences(), "\n"; @@ -56,22 +56,24 @@ echo $period->getRecurrences(), "\n"; $period = new DatePeriod($start, $interval, $recurrences, DatePeriod::INCLUDE_END_DATE); echo $period->getRecurrences(), "\n\n"; -// повторения, не заданные в конструкторе +// Повторения, не заданные в конструкторе $period = new DatePeriod($start, $interval, $end); var_dump($period->getRecurrences()); $period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE); var_dump($period->getRecurrences()); -?>]]> +]]> &example.outputs; + diff --git a/reference/datetime/dateperiod/getstartdate.xml b/reference/datetime/dateperiod/getstartdate.xml index 4d78067c24..eb9627ae6d 100644 --- a/reference/datetime/dateperiod/getstartdate.xml +++ b/reference/datetime/dateperiod/getstartdate.xml @@ -1,5 +1,5 @@ - + @@ -17,7 +17,7 @@ - Возвращает начальную дату периода. + Метод возвращает начальную дату периода времени. @@ -29,27 +29,27 @@ &reftitle.returnvalues; - Возвращает объект DateTimeImmutable, - когда DatePeriod инициализирован объектом + Метод возвращает объект DateTimeImmutable, + если объект DatePeriod инициализировали объектом DateTimeImmutable в качестве параметра start. - Иначе возвращает объект DateTime. + В остальных случаях метод возвращает объект DateTime. &reftitle.examples; - Пример использования <methodname>DatePeriod::getStartDate</methodname> + Пример получения начальной даты методом <methodname>DatePeriod::getStartDate</methodname> getStartDate(); echo $start->format(DateTime::ISO8601); -?> ]]> &example.outputs; diff --git a/reference/datetime/datetime/createfromimmutable.xml b/reference/datetime/datetime/createfromimmutable.xml index ab8f4342a1..85f2d842d7 100644 --- a/reference/datetime/datetime/createfromimmutable.xml +++ b/reference/datetime/datetime/createfromimmutable.xml @@ -1,10 +1,10 @@ - + DateTime::createFromImmutable - Возвращает экземпляр DateTime инкапсулирующий заданный объект DateTimeImmutable + Создаёт новый объект DateTime на основе объекта DateTimeImmutable @@ -23,12 +23,10 @@ object - Неизменяемый объект - DateTimeImmutable, который - нуждается в преобразовании в изменяемую форму. Сам объект - не изменяется, а вместо этого создаётся новый экземпляр - DateTime, содержащий - те же данные: дату, время и часовой пояс. + Неизменяемый объект DateTimeImmutable, + который требуется преобразовать в изменяемый. + Исходный объект не изменяется, а создаётся новый экземпляр + класса DateTime с теми же датой, временем и часовым поясом. @@ -39,7 +37,7 @@ &reftitle.returnvalues; - Возвращает новый объект класса DateTime. + Метод возвращает новый объект DateTime. @@ -58,8 +56,8 @@ 8.0.0 - Метод теперь возвращает экземпляр текущего вызываемого класса; - ранее он создавал новый экземпляр класса DateTime. + Метод теперь возвращает экземпляр текущего класса — на котором вызвали метод; + раньше метод создавал новый экземпляр класса DateTime. @@ -72,14 +70,14 @@ &reftitle.examples; - Создание изменяемого объекта - + Пример создания изменяемого объекта даты и времени + ]]> diff --git a/reference/datetime/datetime/createfrominterface.xml b/reference/datetime/datetime/createfrominterface.xml index 87734f83f0..0d082c881d 100644 --- a/reference/datetime/datetime/createfrominterface.xml +++ b/reference/datetime/datetime/createfrominterface.xml @@ -1,10 +1,10 @@ - + DateTime::createFromInterface - Возвращает новый объект DateTime, созданный из переданного объекта, реализующего интерфейс DateTimeInterface + Создаёт новый объект DateTime на основе объекта, совместимого с интерфейсом DateTimeInterface @@ -23,10 +23,10 @@ object - Объект, реализующий интерфейс DateTimeInterface, из - которого надо получить изменяемую версию. Сам объект не модифицируется. На его основе - создаётся новый объект DateTime, содержащий - ту же информацию о дате, времени и часовом поясе. + Объект — подтип DateTimeInterface, + который требуется преобразовать в изменяемую версию. + Исходный объект не изменяется, а создаётся новый объект + DateTime с той же информацией о дате, времени и часовом поясе. @@ -37,7 +37,7 @@ &reftitle.returnvalues; - Возвращает новый объект DateTime. + Метод возвращает новый объект DateTime. @@ -45,17 +45,18 @@ &reftitle.examples; - Пример использования - + Пример создания изменяемого объекта даты и времени + + ]]> diff --git a/reference/datetime/datetime/modify.xml b/reference/datetime/datetime/modify.xml index 71b928a3fe..853e553aca 100644 --- a/reference/datetime/datetime/modify.xml +++ b/reference/datetime/datetime/modify.xml @@ -1,11 +1,11 @@ - + DateTime::modify date_modify - Изменение временной метки + Изменяет метку времени @@ -86,28 +86,34 @@ &reftitle.examples; - Пример использования <function>DateTime::modify</function> + Пример изменения метки времени методом <function>DateTime::modify</function> &style.oop; modify('+1 day'); echo $date->format('Y-m-d'); -?> ]]> + &example.outputs; + + + &style.procedural; ]]> - &examples.outputs; + &example.outputs; - Будьте осторожны при добавлении и вычитании месяцев + При добавлении и вычитании месяцев соблюдают осторожность modify('+1 month'); @@ -126,7 +133,6 @@ echo $date->format('Y-m-d') . "\n"; $date->modify('+1 month'); echo $date->format('Y-m-d') . "\n"; -?> ]]> &example.outputs; @@ -138,10 +144,11 @@ echo $date->format('Y-m-d') . "\n"; - Поддерживаются все форматы даты и времени + Метод поддерживает все форматы даты и времени modify('July 1st, 2023'); @@ -152,7 +159,6 @@ echo $date->format('Y-m-d H:i') . "\n"; $date->modify('17:30'); echo $date->format('Y-m-d H:i') . "\n"; -?> ]]> &example.outputs; diff --git a/reference/datetime/datetime/settimezone.xml b/reference/datetime/datetime/settimezone.xml index 929290d598..4cd981208c 100644 --- a/reference/datetime/datetime/settimezone.xml +++ b/reference/datetime/datetime/settimezone.xml @@ -1,12 +1,12 @@ - + DateTime::setTimezone date_timezone_set - Устанавливает часовой пояс для объекта класса DateTime + Устанавливает часовой пояс для объекта DateTime @@ -24,14 +24,14 @@ DateTimeZonetimezone - Устанавливает новый часовой пояс для объекта (object) DateTime. + Метод устанавливает новый часовой пояс для объекта (object) DateTime. - Подобен методу DateTimeImmutable::setTimezone, - за исключением работы с объектом DateTime. + Метод аналогичен методу DateTimeImmutable::setTimezone, + но работает с объектом DateTime. - Процедурная версия принимает объект DateTime в качестве первого аргумента. + Процедурная версия в первом аргументе принимает объект DateTime. @@ -43,8 +43,8 @@ timezone - Объект класса DateTimeZone, представляющий - требуемый часовой пояс. + Объект DateTimeZone, который представляет + часовой пояс. @@ -54,40 +54,47 @@ &reftitle.returnvalues; - Возвращает объект DateTime для связывания методов. - Лежащий в основе момент времени не изменяется при вызове метода. + Метод возвращает объект DateTime, что помогает выстраивать цепочку вызовов. + При вызове метода исходный момент времени не изменяется. &reftitle.examples; - Пример использования <function>DateTime::setTimeZone</function> + Пример установки часового пояса методом <function>DateTime::setTimeZone</function> &style.oop; format('Y-m-d H:i:sP') . "\n"; $date->setTimezone(new DateTimeZone('Pacific/Chatham')); echo $date->format('Y-m-d H:i:sP') . "\n"; -?> ]]> + &example.outputs; + + + &style.procedural; ]]> - &examples.outputs; + &example.outputs; - + @@ -135,10 +135,14 @@ try { } echo $date->format('Y-m-d'); - -?> ]]> + &example.outputs; + + + &style.procedural; ]]> - &examples.outputs; + &example.outputs; - Тонкости <function>DateTimeImmutable::__construct</function> + Тонкости работы метода <function>DateTimeImmutable::__construct</function> format('Y-m-d H:i:sP') . "\n"; @@ -182,7 +186,7 @@ echo $date->format('Y-m-d H:i:sP') . "\n"; $date = new DateTimeImmutable('2000-01-01', new DateTimeZone('Pacific/Nauru')); echo $date->format('Y-m-d H:i:sP') . "\n"; -// Текущая дата и время в часовом поясе текущей машины +// Текущая дата и время в часовом поясе по умолчанию для PHP-скриптов $date = new DateTimeImmutable(); echo $date->format('Y-m-d H:i:sP') . "\n"; @@ -197,8 +201,6 @@ echo $date->format('Y-m-d H:i:sP') . "\n"; // Несуществующие значения перетекают $date = new DateTimeImmutable('2000-02-30'); echo $date->format('Y-m-d H:i:sP') . "\n"; - -?> ]]> &example.outputs.similar; @@ -212,6 +214,12 @@ echo $date->format('Y-m-d H:i:sP') . "\n"; 2000-03-01 00:00:00-05:00 ]]> + + + Переполнение дат обнаруживают путём проверки предупреждений + методом DateTimeImmutable::getLastErrors. + + @@ -225,15 +233,13 @@ $timeZone = new \DateTimeZone('Asia/Tokyo'); $time = new \DateTimeImmutable(); $time = $time->setTimezone($timeZone); -echo $time->format('Y/m/d H:i:s'), "\n"; - -?> +echo $time->format('Y/m/d H:i:s e'), "\n"; ]]> &example.outputs.similar; @@ -247,8 +253,6 @@ echo $time->format('Y/m/d H:i:s'), "\n"; $time = new \DateTimeImmutable("-1 year"); echo $time->format('Y/m/d H:i:s'), "\n"; - -?> ]]> &example.outputs.similar; diff --git a/reference/datetime/datetimeimmutable/createfrominterface.xml b/reference/datetime/datetimeimmutable/createfrominterface.xml index de1c0482f8..fe7fe7d303 100644 --- a/reference/datetime/datetimeimmutable/createfrominterface.xml +++ b/reference/datetime/datetimeimmutable/createfrominterface.xml @@ -1,10 +1,10 @@ - + DateTimeImmutable::createFromInterface - Возвращает новый объект DateTimeImmutable, созданный из переданного объекта, реализующего интерфейс DateTimeInterface + Создаёт новый объект DateTimeImmutable на основе объекта, совместимого с интерфейсом DateTimeInterface @@ -23,10 +23,10 @@ object - Объект, реализующий интерфейс DateTimeInterface, который - необходимо сконвертировать в иммутабельную версию. Сам объект не изменяется. Вместо этого - возвращается новый объект DateTimeImmutable с теми же - значениями даты, времени и часового пояса. + Объект — подтип DateTimeInterface, + который требуется преобразовать в неизменяемую версию. + Исходный объект не изменяется, а создаётся новый объект + DateTimeImmutable с той же информацией о дате, времени и часовом поясе. @@ -37,7 +37,7 @@ &reftitle.returnvalues; - Возвращает новый объект DateTimeImmutable. + Метод возвращает новый объект DateTimeImmutable. @@ -45,17 +45,16 @@ &reftitle.examples; - Создание иммутабельного объекта даты и времени - + Пример создания неизменяемого объекта даты и времени + ]]> diff --git a/reference/datetime/datetimeimmutable/createfrommutable.xml b/reference/datetime/datetimeimmutable/createfrommutable.xml index dab4befad4..6c848d92a3 100644 --- a/reference/datetime/datetimeimmutable/createfrommutable.xml +++ b/reference/datetime/datetimeimmutable/createfrommutable.xml @@ -1,10 +1,10 @@ - + DateTimeImmutable::createFromMutable - Возвращает новый экземпляр DateTimeImmutable, содержащий заданный объект DateTime + Создаёт новый объект DateTimeImmutable на основе объекта DateTime @@ -23,10 +23,10 @@ object - Изменяемый объект DateTime, который вы хотите - преобразовать в неизменяемую версию. Этот объект не изменяется, но вместо этого - создаётся новый экземпляр DateTimeImmutable, содержащий - ту же самую информацию. + Изменяемый объект DateTime, который требуется + преобразовать в неизменяемую версию. Исходный объект не изменяется, + а создаётся новый объект DateTimeImmutable + с той же информацией о дате, времени и часовом поясе. @@ -37,7 +37,7 @@ &reftitle.returnvalues; - Возвращает новый экземпляр DateTimeImmutable. + Метод возвращает новый объект DateTimeImmutable. @@ -56,8 +56,8 @@ 8.0.0 - Метод теперь возвращает экземпляр текущего вызываемого класса; - ранее он создавал новый экземпляр класса DateTimeImmutable. + Метод теперь возвращает экземпляр текущего класса — на котором вызвали метод; + раньше метод создавал новый экземпляр класса DateTimeImmutable. @@ -70,14 +70,13 @@ &reftitle.examples; - Создание неизменяемого объекта даты/времени + Пример создания неизменяемого объекта даты и времени ]]> diff --git a/reference/datetime/datetimeimmutable/getlasterrors.xml b/reference/datetime/datetimeimmutable/getlasterrors.xml index 03ba29e4a5..8d9812720c 100644 --- a/reference/datetime/datetimeimmutable/getlasterrors.xml +++ b/reference/datetime/datetimeimmutable/getlasterrors.xml @@ -1,5 +1,5 @@ - + @@ -61,7 +61,7 @@ &reftitle.examples; - Пример использования метода <function>DateTimeImmutable::getLastErrors</function> + Пример получения ошибки разбора строки с датой и временем методом <function>DateTimeImmutable::getLastErrors</function> getMessage(); + echo $e->getMessage(); } -?> ]]> - &examples.outputs; + &example.outputs; 1 - [warnings] => Array - ( - [6] => Double timezone specification - ) + [warning_count] => 1 + [warnings] => Array + ( + [6] => Double timezone specification + ) - [error_count] => 1 - [errors] => Array - ( - [0] => The timezone could not be found in the database - ) + [error_count] => 1 + [errors] => Array + ( + [0] => The timezone could not be found in the database + ) ) +Failed to parse time string (asdfasdf) at position 0 (a): The timezone could not be found in the database ]]> @@ -103,6 +103,35 @@ Array на котором возникла ошибка. + + Пример обнаружения переполнения дат + + + + &example.outputs; + + 1 + [warnings] => Array + ( + [10] => The parsed date was invalid + ) + + [error_count] => 0 + [errors] => Array + ( + ) +) +]]> + + diff --git a/reference/datetime/datetimeimmutable/modify.xml b/reference/datetime/datetimeimmutable/modify.xml index cdf472a9cf..5efb12b1c6 100644 --- a/reference/datetime/datetimeimmutable/modify.xml +++ b/reference/datetime/datetimeimmutable/modify.xml @@ -1,5 +1,5 @@ - + @@ -86,11 +86,9 @@ $date = new DateTimeImmutable('2006-12-12'); $newDate = $date->modify('+1 day'); echo $newDate->format('Y-m-d'); - -?> ]]> - &examples.outputs; + &example.outputs; format('Y-m-d') . "\n"; $newDate2 = $newDate1->modify('+1 month'); echo $newDate2->format('Y-m-d') . "\n"; - -?> ]]> &example.outputs; diff --git a/reference/datetime/datetimeimmutable/setdate.xml b/reference/datetime/datetimeimmutable/setdate.xml index 9691e19b77..43ca5a73f8 100644 --- a/reference/datetime/datetimeimmutable/setdate.xml +++ b/reference/datetime/datetimeimmutable/setdate.xml @@ -1,5 +1,5 @@ - + @@ -38,7 +38,7 @@ month - Месяц. + Номер месяца в году. @@ -46,7 +46,7 @@ day - День. + Номер дня в месяце. @@ -72,11 +72,9 @@ $date = new DateTimeImmutable(); $newDate = $date->setDate(2001, 2, 3); echo $newDate->format('Y-m-d'); - -?> ]]> - &examples.outputs; + &example.outputs; format('Y-m-d') . "\n"; $newDate = $date->setDate(2001, 14, 3); echo $newDate->format('Y-m-d') . "\n"; - -?> ]]> &example.outputs; diff --git a/reference/datetime/datetimeimmutable/setisodate.xml b/reference/datetime/datetimeimmutable/setisodate.xml index 981a2ea48e..3297aad29f 100644 --- a/reference/datetime/datetimeimmutable/setisodate.xml +++ b/reference/datetime/datetimeimmutable/setisodate.xml @@ -1,5 +1,5 @@ - + @@ -75,10 +75,15 @@ echo $newDate->format('Y-m-d') . "\n"; $newDate = $date->setISODate(2008, 2, 7); echo $newDate->format('Y-m-d') . "\n"; - -?> ]]> + &example.outputs; + + + &style.procedural; ]]> - &examples.outputs; + &example.outputs; format('Y-m-d') . "\n"; $newDate = $date->setISODate(2008, 53, 7); echo $newDate->format('Y-m-d') . "\n"; - -?> ]]> &example.outputs; @@ -141,11 +142,9 @@ echo $newDate->format('Y-m-d') . "\n"; $date = new DateTimeImmutable(); $newDate = $date->setISODate(2008, 14); echo $newDate->format('n'); - -?> ]]> - &examples.outputs; + &example.outputs; - + @@ -115,11 +115,9 @@ echo $newDate->format('Y-m-d H:i:s') . "\n"; $newDate = $date->setTime(14, 55, 24); echo $newDate->format('Y-m-d H:i:s') . "\n"; - -?> ]]> - &examples.outputs.similar; + &example.outputs.similar; format('Y-m-d H:i:s') . "\n"; $newDate = $date->setTime(25, 55, 24); echo $newDate->format('Y-m-d H:i:s') . "\n"; - -?> ]]> &example.outputs; diff --git a/reference/datetime/datetimeimmutable/settimestamp.xml b/reference/datetime/datetimeimmutable/settimestamp.xml index a69ef9b741..1bf323bb8e 100644 --- a/reference/datetime/datetimeimmutable/settimestamp.xml +++ b/reference/datetime/datetimeimmutable/settimestamp.xml @@ -1,5 +1,5 @@ - + @@ -28,9 +28,9 @@ Метка времени Unix, которая представляет дату и время. - Установка меток времени за пределами диапазона значения с типом &integer; возможна через метод + Установка меток времени за пределами диапазона значений для типа данных &integer; возможна через метод DateTimeImmutable::modify в формате с символом @ - перед числовой строкой с допустимой дробной частью до 6 знаков для микросекунд. + в начале числовой строки с допустимой дробной частью до 6 знаков для микросекунд. @@ -58,11 +58,9 @@ echo $date->format('U = Y-m-d H:i:s') . "\n"; $newDate = $date->setTimestamp(1171502725); echo $newDate->format('U = Y-m-d H:i:s') . "\n"; - -?> ]]> - &examples.outputs.similar; + &example.outputs.similar; - + @@ -58,11 +58,9 @@ echo $date->format('Y-m-d H:i:sP') . "\n"; $newDate = $date->setTimezone(new DateTimeZone('Pacific/Chatham')); echo $newDate->format('Y-m-d H:i:sP') . "\n"; - -?> ]]> - &examples.outputs; + &example.outputs; - + @@ -50,9 +50,8 @@ &reftitle.errors; При попытке выполнить неподдерживаемую операцию - наподобие вычитания - интервала DateInterval, который представляет относительный - спецификатор времени next weekday или аналогичный, + наподобие вычитания интервала DateInterval, + который представляет относительный спецификатор времени next weekday или аналогичный, метод выбрасывает исключение DateInvalidOperationException. @@ -94,11 +93,9 @@ $date = new DateTimeImmutable('2000-01-20'); $newDate = $date->sub(new DateInterval('P10D')); echo $newDate->format('Y-m-d') . "\n"; - -?> ]]> - &examples.outputs; + &example.outputs; format('Y-m-d H:i:s') . "\n"; $date = new DateTimeImmutable('2000-01-20'); $newDate = $date->sub(new DateInterval('P7Y5M4DT4H3M2S')); echo $newDate->format('Y-m-d H:i:s') . "\n"; - -?> ]]> &example.outputs; diff --git a/reference/datetime/datetimeinterface/diff.xml b/reference/datetime/datetimeinterface/diff.xml index 5e0543a9a8..68c76941e2 100644 --- a/reference/datetime/datetimeinterface/diff.xml +++ b/reference/datetime/datetimeinterface/diff.xml @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ DateTimeImmutable::diff DateTime::diff date_diff - Возвращает разницу между двумя объектами DateTime + Возвращает разницу между двумя объектами даты и времени @@ -36,7 +36,7 @@ boolabsolute&false; - Метод возвращает разницу между двумя объектами DateTimeInterface. + Метод возвращает разницу между двумя объектами, совместимыми с интерфейсом DateTimeInterface. @@ -47,7 +47,7 @@ datetime - Дата, с которой требуется сравнение. + Дата, с которой требуется сравнить исходную. @@ -55,7 +55,7 @@ absolute - Логическое значение, которое определяет, требуется ли принудительно переводить интервал в абсолютную величину. + Параметр определяет, переводить ли интервал в абсолютную величину. @@ -65,8 +65,8 @@ &reftitle.returnvalues; - Метод возвращает объект DateInterval, который представляет - разницу между двумя датами. + Метод возвращает объект DateInterval, + который представляет разницу между двумя датами. Параметр absolute влияет только @@ -74,71 +74,41 @@ объекта DateInterval. - Конкретнее — метод возвращает значение, которое представляет интервал времени, - который требуется применить к исходному объекту $this или $originObject, + Конкретнее: метод возвращает значение — представление интервала времени, + который потребуется применить к исходному объекту $this или $originObject, чтобы получить целевой объект $targetObject. - Процесс обратим не всегда. + Восстановление исходной даты из целевой и интервала иногда невозможно. - Метод учитывает смену часовых поясов и поэтому иногда возвращает интервал - 24 hours and 30 minutes, как в одном из примеров. - Сначала объекты $this или $baseObject - и $targetObject преобразовывают к часовому поясу UTC, - когда требуется рассчитывать абсолютное время. + Метод учитывает переходы на летнее время и поэтому иногда возвращает интервал + 24 hours and 30 minutes, как во втором примере. + Для расчёта абсолютного времени + объекты $this или $baseObject + и $targetObject сначала преобразовывают ко времени по стандарту UTC. &reftitle.examples; - - Пример использования метода <methodname>DateTimeInterface::diff</methodname> с диапазоном дат - - - Значение, которое возвращает метод, — точное количество времени, которое требуется - для перехода от времени объекта $this ко времени объекта $targetObject. - Поэтому сравнение 1 января с 31 декабря возвращает 364 дня, а не 365 дней - (для невисокосных годов). - + Пример вычисления разницы между датами методом <function>DateTimeImmutable::diff</function> + &style.oop; diff($targetTime); - -echo "Полных дней: ", $interval->format("%a"), "\n"; - -?> +$origin = new DateTimeImmutable('2009-10-11'); +$target = new DateTimeImmutable('2009-10-13'); +$interval = $origin->diff($target); +echo $interval->format('%R%a days'); ]]> &example.outputs; - - - - Пример использования метода <function>DateTimeImmutable::diff</function> - &style.oop; - -diff($target); - -echo $interval->format('%R%a дней'); - -?> -]]> - &style.procedural; format('%R%a дней'); $origin = date_create('2009-10-11'); $target = date_create('2009-10-13'); - $interval = date_diff($origin, $target); - -echo $interval->format('%R%a дней'); - -?> +echo $interval->format('%R%a days'); ]]> - &examples.outputs; + &example.outputs; format('%R%a дней'); - Пример использования метода <methodname>DateTimeInterface::diff</methodname> + Пример вычисления разницы между датами методом <methodname>DateTimeInterface::diff</methodname> при переходе на летнее время @@ -173,12 +139,8 @@ echo $interval->format('%R%a дней'); $originalTime = new DateTimeImmutable("2021-10-30 09:00:00 Europe/London"); $targetTime = new DateTimeImmutable("2021-10-31 08:30:00 Europe/London"); - $interval = $originalTime->diff($targetTime); - echo $interval->format("%H:%I:%S (Полных дней: %a)"), "\n"; - -?> ]]> &example.outputs; @@ -189,12 +151,37 @@ echo $interval->format("%H:%I:%S (Полных дней: %a)"), "\n"; + + Пример вычисления разницы для диапазона дат методом <methodname>DateTimeInterface::diff</methodname> + + Значение, которое возвращает метод, — точное количество времени, которое требуется + для перехода от времени объекта $this ко времени объекта $targetObject. + Поэтому сравнение 1 января с 31 декабря для невисокосных годов возвращает 364 дня, а не 365. + + +diff($targetTime); +echo "Полных дней: ", $interval->format("%a"), "\n"; +]]> + + &example.outputs; + + + + + Сравнение объектов <classname>DateTime</classname> - Объекты DateTimeImmutable и - DateTime можно сравнивать + Объекты DateTimeImmutable + и DateTime возможно сравнивать операторами сравнения. @@ -208,8 +195,6 @@ $date2 = new DateTime("tomorrow"); var_dump($date1 == $date2); var_dump($date1 < $date2); var_dump($date1 > $date2); - -?> ]]> &example.outputs; diff --git a/reference/datetime/datetimeinterface/format.xml b/reference/datetime/datetimeinterface/format.xml index 258d1c90f8..83906fe312 100644 --- a/reference/datetime/datetimeinterface/format.xml +++ b/reference/datetime/datetimeinterface/format.xml @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ DateTimeImmutable::format DateTime::format date_format - Возвращает дату, которую отформатировал по заданному формату + Форматирует дату в заданном формате @@ -45,10 +45,8 @@ Шаблон результирующей строки (string) с датой. Смотрите параметры - форматирования ниже. Вместо шаблона также указывают предопределённые константы даты и времени, - например, константа - DATE_RSS содержит строку формата 'D, d M Y H:i:s'. + форматирования ниже. Вместо шаблона также указывают предопределённые константы даты и времени, + например, константа DATE_RSS содержит строку формата 'D, d M Y H:i:s'. @@ -376,7 +374,7 @@ U - Количество секунд, которые прошли с начала Unix-эпохи — с 1 января 1970 00:00:00 GMT + Количество секунд, которое прошло с начала Unix-эпохи — с 1 января 1970 00:00:00 GMT Смотрите также time @@ -391,11 +389,10 @@ - Поскольку эта функция принимает - только целочисленные (int) метки времени, - форматирующий символ u будет полезен - только при работе с функцией date_format и пользовательскими - метками времени, которые создали функцией date_create. + Форматирующий символ u полезен только при работе + с функцией date_format и пользовательскими метками времени, + которые создали функцией date_create, поскольку функция принимает + только целочисленные (int) метки времени. @@ -406,7 +403,7 @@ &reftitle.returnvalues; - В случае успешного выполнения метод возвращает строку с отформатированной датой. + Метод возвращает строку с отформатированной датой, если выполнился успешно. @@ -442,7 +439,7 @@ &reftitle.examples; - Пример использования метода <function>DateTimeInterface::format</function> + Пример форматирования даты методом <function>DateTimeInterface::format</function> &style.oop; format('Y-m-d H:i:s'); - -?> ]]> + &example.outputs; + + + &style.procedural; format('Y-m-d H:i:s'); $date = date_create('2000-01-01'); echo date_format($date, 'Y-m-d H:i:s'); - -?> ]]> &example.outputs; @@ -495,8 +494,6 @@ echo $date->format('l jS \o\f F Y h:i:s A'), "\n"; /* Передача констант в параметр format */ // Выведет что-то наподобие: Wed, 19 Oct 2022 08:40:48 +0000 echo $date->format(DateTimeInterface::RFC2822), "\n"; - -?> ]]> @@ -516,15 +513,13 @@ $date = new DateTimeImmutable(); // Выведет что-то наподобие: Wednesday the 19th echo $date->format('l \t\h\e jS'); - -?> ]]> - Чтобы отформатировать даты на других языках, вместо метода DateTimeInterface::format - вызывают метод IntlDateFormatter::format. + Даты на других языках вместо метода DateTimeInterface::format + форматируют методом IntlDateFormatter::format. diff --git a/reference/datetime/datetimeinterface/getoffset.xml b/reference/datetime/datetimeinterface/getoffset.xml index 4537fe6136..504e458f4f 100644 --- a/reference/datetime/datetimeinterface/getoffset.xml +++ b/reference/datetime/datetimeinterface/getoffset.xml @@ -1,5 +1,5 @@ - + @@ -31,7 +31,7 @@ DateTimeInterfaceobject - Возвращает смещение часового пояса. + Метод возвращает смещение часового пояса. @@ -45,39 +45,46 @@ &reftitle.returnvalues; - В случае успешного выполнения возвращает смещение часового пояса относительно UTC в секундах. + Метод возвращает смещение времени заданного часового пояса относительно времени по стандарту UTC в секундах, если выполнился успешно. &reftitle.examples; - Пример использования <function>DateTime::getOffset</function> + Пример получения смещения часового пояса методом <function>DateTime::getOffset</function> &style.oop; getOffset() . "\n"; echo $summer->getOffset() . "\n"; -?> ]]> + &example.outputs; + + + &style.procedural; ]]> - &examples.outputs; + &example.outputs; - Замечание: -18000 = -5 часов, -14400 = -4 часа. + Замечание: значение -18000 равно смещению в -5 часов, а значение -14400 — в -4 часа. diff --git a/reference/datetime/datetimeinterface/gettimestamp.xml b/reference/datetime/datetimeinterface/gettimestamp.xml index 9a3ae8e69c..a993d90d2f 100644 --- a/reference/datetime/datetimeinterface/gettimestamp.xml +++ b/reference/datetime/datetimeinterface/gettimestamp.xml @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ DateTimeImmutable::getTimestamp DateTime::getTimestamp date_timestamp_get - Возвращает метку времени эпохи Unix + Возвращает метку времени с начала эпохи Unix @@ -31,7 +31,7 @@ DateTimeInterfaceobject - Метод возвращает временну́ю метку Unix-эпохи. + Метод возвращает метку времени с начала Unix-эпохи. @@ -43,18 +43,18 @@ &reftitle.returnvalues; - Метод возвращает метку времени Unix-эпохи для заданной даты. + Метод возвращает Unix-метку, которая представляет момент времени. &reftitle.errors; - Метод выбросит исключение DateRangeError, - если не получится представить метку времени целым числом (&integer;). - До PHP 8.3.0 выбрасывалось исключение ValueError. + Метод выбросит ошибку DateRangeError, + если не получится представить метку времени значением &integer;. + До PHP 8.3.0 выбрасывалась ошибка ValueError. А до PHP 8.0.0 возвращалось логическое значение &false;. При этом - метку времени в виде строки (&string;) получают + метку времени в виде значения &string; получают вызовом метода DateTimeInterface::format с параметром форматирования U. @@ -74,7 +74,7 @@ 8.3.0 - Теперь при выходе за пределы диапазона метод выбросит исключение + При выходе за пределы диапазона метод теперь выбрасывает ошибку DateRangeError. @@ -92,7 +92,7 @@ &reftitle.examples; - Пример использования метода <function>DateTime::getTimestamp</function> + Пример получения метки времени методом <function>DateTime::getTimestamp</function> &style.oop; getTimestamp(); - -?> ]]> + &example.outputs.similar; + + + &style.procedural; getTimestamp(); $date = date_create(); echo date_timestamp_get($date); - -?> ]]> - &examples.outputs.similar; + &example.outputs.similar; DateTimeInterface::format. - Получение метки времени с милли- и микросекундами + Пример получения метки времени с милли- и микросекундами &style.oop; format('Uv'); // Метка времени с миллис $micro = (int) $date->format('Uu'); // Метка времени с микросекундами echo $milli, "\n", $micro, "\n"; - -?> ]]> - &examples.outputs.similar; + &example.outputs.similar; - + @@ -7,7 +7,7 @@ DateTimeImmutable::getTimezone DateTime::getTimezone date_timezone_get - Возвращает часовой пояс относительно текущего значения DateTime + Возвращает часовой пояс объекта даты и времени @@ -31,7 +31,7 @@ DateTimeInterfaceobject - Возвращает часовой пояс относительно текущего значения DateTime. + Метод возвращает часовой пояс, который содержится в объекте даты и времени. @@ -45,35 +45,41 @@ &reftitle.returnvalues; - Возвращает объект DateTimeZone в случае успешного выполнения&return.falseforfailure;. + Метод возвращает объект DateTimeZone, если выполнился успешно,&return.falseforfailure;. &reftitle.examples; - Пример использования <function>DateTime::getTimezone</function> + Пример получения часового пояса методом <function>DateTime::getTimezone</function> &style.oop; getTimezone(); echo $tz->getName(); -?> ]]> + &example.outputs; + + + &style.procedural; ]]> - &examples.outputs; + &example.outputs; - + DateTime::__serialize DateTimeImmutable::__serialize DateTimeInterface::__serialize - Возвращает данные для представления объекта DateTime при сериализации + Подготавливает данные объекта даты и времени для сериализации @@ -25,7 +25,7 @@ Метод __serialize() - возвращает данные для представления объекта при сериализации. + обрабатывает данные объекта даты и времени при вызове функции сериализации. @@ -38,25 +38,23 @@ &reftitle.returnvalues; Метод возвращает массив данных для представления - объекта DateTime при сериализации. + объекта DateTime или других совместимых с интерфейсом объектов при сериализации. &reftitle.examples; - Пример подготовки данных для представления объекта даты и времени методом <methodname>DateTime::__serialize</methodname> + Пример обработки объекта методом <methodname>DateTime::__serialize</methodname> для подготовки данных к сериализации ]]> - &examples.outputs; + &example.outputs; - + DateTime::__unserialize DateTimeImmutable::__unserialize DateTimeInterface::__unserialize - Получает данные представления объекта DateTime при десериализации + Подготавливает данные для восстановления объекта даты и времени при десериализации @@ -25,7 +25,9 @@ Метод __unserialize() - получает данные представления объекта при десериализации. + обрабатывает данные промежуточного представления объекта даты и времени, + аналогичные подготовленным методом DateTimeInterface::__serialize, + для восстановления исходного объекта даты и времени при десериализации. @@ -36,7 +38,7 @@ data - Параметр получает массив с данными представления объекта DateTime. + Параметр получает массив с данными представления объекта DateTime или другого объекта, совместимого с интерфейсом. @@ -46,25 +48,24 @@ &reftitle.returnvalues; - Метод не возвращает значений, а только обрабатывает представление объекта DateTime. + Метод не возвращает значений, а только обрабатывает промежуточное представление объекта DateTime + или другого объекта даты и времени, совместимого с интерфейсом. &reftitle.examples; - Пример обработки данных представления объекта даты и времени методом <methodname>DateTime::__unserialize</methodname> + Пример обработки промежуточного представления объекта даты и времени методом <methodname>DateTime::__unserialize</methodname> ]]> - &examples.outputs; + &example.outputs; - + @@ -21,17 +21,17 @@ stringtimezone - Создаёт новый объект DateTimeZone. + Метод создаёт новый объект DateTimeZone. - Объект DateTimeZone предоставляет доступ к трём различным типам правил временных зон: - Смещение UTC (тип 1), - сокращение часового пояса (тип 2) - и идентификаторы часовых поясов, опубликованные в базе данных часовых поясов IANA (тип 3). + Объект DateTimeZone поддерживает три типа представления часового пояса: + тип 1 — смещение относительно времени UTC, + тип 2 — аббревиатура часового пояса + и тип 3идентификатор часового пояса, которые публикуются в базе данных часовых поясов организации IANA. - Объект DateTimeZone может быть присоединён к объектам DateTime и DateTimeImmutable, - чтобы иметь возможность отображать часовой пояс, заключённый в этих объектах в локальном часовом поясе. + Объект DateTimeZone прикрепляют к объектам DateTime и DateTimeImmutable + для форматирования времени в заданном часовом поясе. @@ -43,8 +43,8 @@ timezone - Одно из поддерживаемых имён часовых поясов или - значение смещения (+0200) или аббревиатура часового пояса (BST). + Поддерживаемое название часового пояса, + значение смещения в формате +0200 или аббревиатура часового пояса наподобие BST. @@ -55,7 +55,7 @@ &reftitle.returnvalues; - В случае успешного выполнения возвращает DateTimeZone. + Метод возвращает объект DateTimeZone, если выполнился успешно. &return.falseforfailure.style.procedural; @@ -63,8 +63,8 @@ &reftitle.errors; - Если часовой пояс не распознается как действительный, - выбрасывается исключение + При передаче недопустимого часового пояса + метод выбрасывает исключение DateInvalidTimeZoneException. До PHP 8.3 вместо этого выбрасывалось исключение Exception. @@ -86,9 +86,9 @@ 8.3.0 - Теперь из-за недопустимых значений + При передаче недопустимых значений часового пояса вместо общего исключения Exception - выбрасывается исключение DateInvalidTimeZoneException. + метод теперь выбрасывает исключение DateInvalidTimeZoneException. @@ -101,55 +101,59 @@ &reftitle.examples; - Создание и присоединение DateTimeZone к DateTimeImmutable + Пример создания и прикрепления часового пояса DateTimeZone к объекту даты и времени DateTimeImmutable setTimezone($tzo); - echo $local->format(DateTimeInterface::RFC2822 . ' — e'), "\n"; + echo $local->format(DateTimeInterface::RFC2822 . ' — e') . "\n"; } -?> ]]> &example.outputs; + - Перехват ошибок при создании экземпляра <classname>DateTimeZone</classname> + Пример перехвата ошибок при создании объекта <classname>DateTimeZone</classname> getName() . "\n"; } catch(Exception $e) { - echo $e->getMessage() . '
'; + echo $e->getMessage() . "\n"; } } -?> ]]>
&example.outputs; diff --git a/reference/datetime/datetimezone/getlocation.xml b/reference/datetime/datetimezone/getlocation.xml index 8f5600e833..de31aaadc2 100644 --- a/reference/datetime/datetimezone/getlocation.xml +++ b/reference/datetime/datetimezone/getlocation.xml @@ -1,5 +1,5 @@ - + @@ -45,7 +45,7 @@ &reftitle.examples; - Пример получения информации о местоположении для часового пояса функцией <function>DateTimeZone::getLocation</function> + Пример получения информации о местоположении для часового пояса методом <function>DateTimeZone::getLocation</function> getLocation()); print_r(timezone_location_get($tz)); - -?> ]]> &example.outputs; @@ -92,7 +90,7 @@ Array &reftitle.seealso; - Функция DateTimeZone::listIdentifiers для получения полного или частичного списка + Метод DateTimeZone::listIdentifiers для получения полного или частичного списка всех поддерживаемых идентификаторов часовых поясов. diff --git a/reference/datetime/datetimezone/getoffset.xml b/reference/datetime/datetimezone/getoffset.xml index 19c2e66caf..89a40fa2a1 100644 --- a/reference/datetime/datetimezone/getoffset.xml +++ b/reference/datetime/datetimezone/getoffset.xml @@ -1,11 +1,11 @@ - + DateTimeZone::getOffset timezone_offset_get - Возвращает смещение часового пояса от UTC (GMT) + Возвращает смещение времени часового пояса относительно времени UTC &reftitle.description; @@ -21,9 +21,9 @@ DateTimeInterfacedatetime - Эта функция возвращает смещение от GMT для даты/времени, указанных в параметре - datetime. GMT-смещение рассчитывается с помощью информации - о часовом поясе, содержащейся в используемом объекте DateTimeZone. + Функция возвращает смещение времени заданного часового пояса относительно времени по стандарту UTC + на конкретный момент времени, который содержится в объекте даты и времени аргумента datetime. + Смещение вычисляется для часового пояса в объекте DateTimeZone относительно времени UTC. @@ -36,7 +36,8 @@ datetime - DateTime, содержащий дату/время, относительно которых вычисляется смещение. + Объект DateTime или другой совместимый с интерфейсом объект + с датой и временем, относительно которого вычисляется смещение. @@ -47,7 +48,7 @@ &reftitle.returnvalues; - Возвращает смещение часового пояса в секундах. + Функция возвращает смещение времени часового пояса в секундах. @@ -55,30 +56,37 @@ &reftitle.examples; - Пример использования <function>DateTimeZone::getOffset</function> + Пример получения смещения времени часового пояса относительно UTC-времени методом <function>DateTimeZone::getOffset</function> getOffset($dateTimeTaipei); -// Должен показать int(32400) (для дат после Sat Sep 8 01:00:00 1951 JST). +// Выведет значение int(32400) для дат после 01:00:00 субботы 8 сентября 1951 года +// по стандартному японскому времени в часовом поясе JST, Sat Sep 8 01:00:00 1951 JST var_dump($timeOffset); -?> ]]> + &example.outputs; + + +
diff --git a/reference/datetime/datetimezone/gettransitions.xml b/reference/datetime/datetimezone/gettransitions.xml index cd766fd8b2..912de2ee01 100644 --- a/reference/datetime/datetimezone/gettransitions.xml +++ b/reference/datetime/datetimezone/gettransitions.xml @@ -1,11 +1,11 @@ - + DateTimeZone::getTransitions timezone_transitions_get - Возвращает все переходы для часового пояса + Возвращает информацию о переходах времени для часового пояса &reftitle.description; @@ -52,11 +52,14 @@ &reftitle.returnvalues; - В случае успешного выполнения возвращает численно индексированный массив массивов со всеми переходами&return.falseforfailure;. - Объекты DateTimeZone, оборачивающие тип 1 (смещения UTC) и тип 2 (сокращения), не содержат переходов и вызов этого метода в таком случае вернёт &false;. + Функция возвращает индексный массив массивов с информацией об исторических, + сезоннных и политико-административных переходах времени в хронологическом порядке, если выполнилась успешно,&return.falseforfailure;. + Объекты DateTimeZone, которые оборачивают смещения 1-го типа со смещением относительно времени UTC + и 2-го типа с аббревиатурой названия часового пояса, не содержат переходов и вызов метода на таких объектах вернёт значение &false;. - Если задан параметр timestampBegin, то первая запись в возвращаемом массиве будет содержать элемент перехода на момент параметра timestampBegin. + При передаче аргумента timestampBegin первым элементом массива с результатами + становится массив с информацией о последнем на момент timestampBegin переходе.
@@ -79,14 +82,14 @@ timestring - DateTimeInterface::ISO8601_EXPANDED (PHP 8.2 и более поздние версии) - или DateTimeInterface::ISO8601 (PHP 8.1 и более ранние версии) строка времени + Строка времени в формате DateTimeInterface::ISO8601_EXPANDED для PHP 8.2 и более поздних выпусков + или в формате DateTimeInterface::ISO8601 для PHP 8.1 и предыдущих выпусков offset int - Смещение от UTC в секундах + Смещение относительно времени UTC в секундах isdst @@ -108,14 +111,14 @@ &reftitle.examples; - Пример использования <function>timezone_transitions_get</function> + Пример получения хронологии переходов времени функцией <function>timezone_transitions_get</function> getTransitions(); print_r(array_slice($transitions, 0, 3)); -?> ]]> &example.outputs.similar; @@ -125,29 +128,29 @@ Array ( [0] => Array ( - [ts] => -9223372036854775808 - [time] => -292277022657-01-27T08:29:52+0000 - [offset] => 3600 - [isdst] => 1 - [abbr] => BST + [ts] => -2147483648 + [time] => 1901-12-13T20:45:52+00:00 + [offset] => -75 + [isdst] => + [abbr] => LMT ) [1] => Array ( - [ts] => -1691964000 - [time] => 1916-05-21T02:00:00+0000 - [offset] => 3600 - [isdst] => 1 - [abbr] => BST + [ts] => 442304971 + [time] => 1847-12-01T00:01:15+00:00 + [offset] => 0 + [isdst] => + [abbr] => GMT ) [2] => Array ( - [ts] => -1680472800 - [time] => 1916-10-01T02:00:00+0000 - [offset] => 0 - [isdst] => - [abbr] => GMT + [ts] => -1691964000 + [time] => 1916-05-21T02:00:00+00:00 + [offset] => 3600 + [isdst] => 1 + [abbr] => BST ) ) @@ -155,14 +158,14 @@ Array - Пример использования <function>timezone_transitions_get</function> с заданным параметром <parameter>timestampBegin</parameter> + Пример работы функции <function>timezone_transitions_get</function> с аргументом <parameter>timestampBegin</parameter> getTransitions(time()); print_r(array_slice($transitions, 0, 3)); -?> ]]> &example.outputs.similar; @@ -172,8 +175,8 @@ Array ( [0] => Array ( - [ts] => 1654184161 - [time] => 2022-06-02T15:36:01+0000 + [ts] => 1759058251 + [time] => 2025-09-28T11:17:31+00:00 [offset] => 3600 [isdst] => 1 [abbr] => BST @@ -181,8 +184,8 @@ Array [1] => Array ( - [ts] => 1667091600 - [time] => 2022-10-30T01:00:00+0000 + [ts] => 1761440400 + [time] => 2025-10-26T01:00:00+00:00 [offset] => 0 [isdst] => [abbr] => GMT @@ -190,8 +193,8 @@ Array [2] => Array ( - [ts] => 1679792400 - [time] => 2023-03-26T01:00:00+0000 + [ts] => 1774746000 + [time] => 2026-03-29T01:00:00+00:00 [offset] => 3600 [isdst] => 1 [abbr] => BST diff --git a/reference/datetime/datetimezone/listabbreviations.xml b/reference/datetime/datetimezone/listabbreviations.xml index ad8bc4da46..e23de61428 100644 --- a/reference/datetime/datetimezone/listabbreviations.xml +++ b/reference/datetime/datetimezone/listabbreviations.xml @@ -1,11 +1,11 @@ - + DateTimeZone::listAbbreviations timezone_abbreviations_list - Возвращает ассоциативный массив, содержащий флаг перехода на летнее время, смещение и имя часового пояса + Возвращает ассоциативный массив с флагами перехода на летнее время, смещениями и названиями часовых поясов &reftitle.description; @@ -20,18 +20,18 @@ - Возвращаемый список аббревиатур включает все исторические случаи использования аббревиатур, - что может привести к правильным, но запутанным записям. - Существуют также противоречия, поскольку PST используется как в США, так и на Филиппинах. + Функция возвращает список абрревиатур, который включает исторические сокращения названий часовых поясов. + Список содержит формально корректные, но неоднозначные записи, + и конфликты сокращений наподобие PST, которое обозначает как часовой пояс в США, так и на Филиппинах. - Поэтому список, который возвращает эта функция, не подходит для создания массива - с опциями для представления выбора часового пояса пользователям. + Поэтому список, который возвращает функция, бесполезен для построения массива + пользовательских элементов для выбора часового пояса. - Данные для функции предварительно компилируются из соображений производительности и не обновляются - при использовании более новой версии timezonedb. + Данные для функции компилируются предварительно по соображениям производительности и не обновляются + при установке более новой версии базы данных timezonedb. @@ -44,7 +44,7 @@ &reftitle.returnvalues; - Возвращает массив сокращений часовых поясов. + Функция возвращает массив сокращённых названий часовых поясов. @@ -52,13 +52,13 @@ &reftitle.examples; - Пример использования <function>timezone_abbreviations_list</function> + Пример получения списка сокращённых названий часовых поясов функцией <function>timezone_abbreviations_list</function> ]]> &example.outputs.similar; @@ -68,30 +68,44 @@ Array ( [0] => Array ( - [dst] => 1 - [offset] => -14400 - [timezone_id] => America/Porto_Acre + [dst] => + [offset] => 34200 + [timezone_id] => Australia/Adelaide ) [1] => Array ( - [dst] => 1 - [offset] => -14400 - [timezone_id] => America/Eirunepe + [dst] => + [offset] => 34200 + [timezone_id] => Australia/Broken_Hill ) [2] => Array ( - [dst] => 1 - [offset] => -14400 - [timezone_id] => America/Rio_Branco + [dst] => + [offset] => 34200 + [timezone_id] => Australia/Darwin ) [3] => Array ( - [dst] => 1 - [offset] => -14400 - [timezone_id] => Brazil/Acre + [dst] => + [offset] => 34200 + [timezone_id] => Australia/North + ) + + [4] => Array + ( + [dst] => + [offset] => 34200 + [timezone_id] => Australia/South + ) + + [5] => Array + ( + [dst] => + [offset] => 34200 + [timezone_id] => Australia/Yancowinna ) ) diff --git a/reference/datetime/formats.xml b/reference/datetime/formats.xml index 6672eaa1bb..e1bce39958 100644 --- a/reference/datetime/formats.xml +++ b/reference/datetime/formats.xml @@ -1,5 +1,5 @@ - + Допустимые форматы даты и времени @@ -79,8 +79,6 @@ $res = date_parse("2015-09-31"); var_dump($res["warnings"]); - -?> ]]> &example.outputs; @@ -107,8 +105,6 @@ array(1) { $res = DateTimeImmutable::createFromFormat("Y-m-d", "2015-09-34"); var_dump($res); - -?> ]]> &example.outputs; diff --git a/reference/datetime/functions/checkdate.xml b/reference/datetime/functions/checkdate.xml index 3e714d1a3d..3258de2427 100644 --- a/reference/datetime/functions/checkdate.xml +++ b/reference/datetime/functions/checkdate.xml @@ -1,5 +1,5 @@ - + @@ -73,8 +73,6 @@ var_dump(checkdate(12, 31, 2000)); var_dump(checkdate(2, 29, 2001)); - -?> ]]> &example.outputs; diff --git a/reference/datetime/functions/date-default-timezone-get.xml b/reference/datetime/functions/date-default-timezone-get.xml index a3cfa2112f..1f9704f151 100644 --- a/reference/datetime/functions/date-default-timezone-get.xml +++ b/reference/datetime/functions/date-default-timezone-get.xml @@ -1,12 +1,12 @@ - + date_default_timezone_get - Возвращает часовой пояс, используемый по умолчанию всеми функциями - даты/времени в скрипте + Возвращает часовой пояс по умолчанию для функций работы с датой и временем + в скрипте @@ -21,22 +21,21 @@ - Чтение настройки часового пояса с помощью функции - date_default_timezone_set (если применимо) + Считывает настройки часового пояса функцией + date_default_timezone_set, если применимо - Чтение значения ini-настройки date.timezone (если задана) + Считывает значения ini-настройки date.timezone, + если установили - Если ни один из способов не принёс результата, - date_default_timezone_get вернёт часовой - пояс UTC. + Функция date_default_timezone_get вернёт часовой + пояс UTC, если не получила часовой пояс другим способом. @@ -56,21 +55,20 @@ &reftitle.examples; - Получение часового пояса по умолчанию + Пример получения часового пояса по умолчанию '; + echo 'date_default_timezone_set: ' . date_default_timezone_get() . "\n"; } if (ini_get('date.timezone')) { echo 'date.timezone: ' . ini_get('date.timezone'); } - -?> ]]> &example.outputs.similar; @@ -84,13 +82,13 @@ date.timezone: Europe/London - Получение аббревиатуры часового пояса + Пример получения сокращённого названия часового пояса ' . date('e') . ' => ' . date('T'); -?> ]]> &example.outputs; diff --git a/reference/datetime/functions/date-default-timezone-set.xml b/reference/datetime/functions/date-default-timezone-set.xml index 6c31d837a1..bf821c2dd6 100644 --- a/reference/datetime/functions/date-default-timezone-set.xml +++ b/reference/datetime/functions/date-default-timezone-set.xml @@ -1,12 +1,12 @@ - + date_default_timezone_set - Устанавливает часовой пояс по умолчанию для всех функций - даты/времени в скрипте + Устанавливает часовой пояс по умолчанию для функций работы + с датой и временем в скрипте @@ -16,11 +16,11 @@ stringtimezoneId - date_default_timezone_set устанавливает часовой - пояс по умолчанию для всех функций даты/времени в скрипте. + Функция date_default_timezone_set устанавливает часовой + пояс по умолчанию для функций работы с датой и временем в PHP-скрипте. - Вместо использования этой функции, вы можете воспользоваться INI-настройкой + Вместо этой функции часовой пояс указывают в INI-настройке date.timezone для установки часового пояса по умолчанию. @@ -61,16 +61,17 @@ ]]> diff --git a/reference/datetime/functions/date-parse-from-format.xml b/reference/datetime/functions/date-parse-from-format.xml index 5669ec8751..15b95e89c5 100644 --- a/reference/datetime/functions/date-parse-from-format.xml +++ b/reference/datetime/functions/date-parse-from-format.xml @@ -1,11 +1,11 @@ - + date_parse_from_format - Получение информации о заданной в определённом формате дате + Разбирает строку с датой по заданному формату @@ -17,7 +17,7 @@ stringdatetime - Возвращает ассоциативный массив с подробной информацией о заданной дате/времени. + Функция возвращает ассоциативный массив с подробной информацией о дате и времени. @@ -29,9 +29,9 @@ format - Документацию по параметру format, смотрите в документации - к методу DateTimeImmutable::createFromFormat. - Применяются те же правила. + Описание параметра format приводится + в документации к методу DateTimeImmutable::createFromFormat. + Для параметра функции действуют аналогичные правила. @@ -39,7 +39,7 @@ datetime - Строка, представляющая дату/время. + Строковое представление даты и времени. @@ -50,47 +50,38 @@ &reftitle.returnvalues; - Возвращает ассоциативный массив с подробной информацией о заданной дате/времени. + Функция возвращает ассоциативный массив с подробной информацией о дате и времени. - Возвращаемый массив содержит ключи year, + Результирующий массив содержит следующие ключи: year, month, day, hour, minute, second, fraction и is_localtime. - Если присутствует is_localtime, то zone_type указывает тип часового пояса. - Для типа 1 (смещение UTC) указывается zone, добавляется поле is_dst; - для типа 2 (аббревиатура) добавляются поля tz_abbr и is_dst; - для типа 3 (идентификатор часового пояса) добавляются поля tz_abbr и tz_id. - - - Если в параметре datetime присутствуют элементы относительного времени, - например, +3 days, то возвращаемый массив включает вложенный массив с ключом relative. - Этот массив затем содержит ключи - year, month, day, - hour, minute, - second, и, если необходимо, weekday и - weekdays, в зависимости от переданной строки. + Элемент zone_type укажет тип часового пояса, если массив с результатами содержит элемент is_localtime. + Для 1-го типа представления часовых поясов — со смещением относительно времени UTC — добавляются поля zone и is_dst; + для 2-го типа представления — аббревиатура — добавляются поля tz_abbr и is_dst; + для 3-го тип — идентификатор часового пояса — добавляются поля tz_abbr и tz_id. Массив включает поля warning_count и warnings. - Первое из них указывает, сколько было предупреждений. - Ключи элементов массива warnings указывают на позицию в данном параметре datetime, - где произошло предупреждение, а строковое значение описывает само предупреждение. + Первое указывает количество предупреждений. + Ключи элементов массива warnings указывают позицию в аргументе datetime, + на которой возникло предупреждение, а строковое значение содержит описание предупреждения. Массив также содержит поля error_count и errors. - Первое из них указывает, сколько ошибок было найдено. - Ключи элементов массива errors указывают на позицию в данном параметре datetime, - где произошла ошибка, а строковое значение описывает саму ошибку. + Первое указывает количество ошибок. + Ключи элементов массива errors указывают позицию в аргументе datetime, + на которой возникла ошибка, а строковое значение содержит описание ошибки. - Количество элементов массивов warnings и - errors может быть меньше, чем - warning_count или error_count, - если они возникли в одной и той же позиции. + Функция запишет в массивы warnings + и errors меньшее количество элементов, + чем указывают значения элементов warning_count и error_count, + если предупреждения или ошибки возникнут на тех же позициях. @@ -98,7 +89,7 @@ &reftitle.errors; - Функция выбрасывает ValueError, + Функция выбрасывает ошибку ValueError, если параметр datetime содержит нулевые байты. @@ -117,17 +108,17 @@ 8.0.21, 8.1.8, 8.2.0 - Теперь при передаче нулевых байтов в параметр datetime - выбрасывается ValueError, - который ранее молча игнорировался. + При передаче нулевых байтов в параметр datetime + функция теперь выбрасывает ошибку ValueError; + раньше функция молча игнорировала нулевые байты. 7.2.0 - Элемент zone возвращаемого массива отображает теперь - секунды вместо минут, а его знак инвертируется. Например, - -120 теперь будет 7200. + Элемент zone в массиве результатов теперь содержит + секунды вместо минут, а знак инвертируется, например: + значение -120 теперь выводится как 7200. @@ -139,15 +130,13 @@ &reftitle.examples; - Пример использования <function>date_parse_from_format</function> + Пример разбора строки с датой и временем по заданному формату функцией <function>date_parse_from_format</function> ]]> &example.outputs; @@ -161,7 +150,7 @@ Array [hour] => 13 [minute] => 0 [second] => 0 - [fraction] => + [fraction] => 0 [warning_count] => 0 [warnings] => Array ( @@ -184,7 +173,7 @@ Array - Пример использования <function>date_parse_from_format</function> с предупреждениями + Пример предупреждения при разборе строки с датой функцией <function>date_parse_from_format</function> $message) { echo "\tПозиция {$position}: {$message}\n"; } - -?> ]]> &example.outputs; @@ -212,7 +199,7 @@ foreach ($parsed['warnings'] as $position => $message) { - Пример использования <function>date_parse_from_format</function> с ошибками + Пример ошибок при разборе строки с датой функцией <function>date_parse_from_format</function> $message) { echo "\tПозиция {$position}: {$message}\n"; } - -?> ]]> &example.outputs; @@ -233,7 +218,7 @@ foreach ($parsed['errors'] as $position => $message) { diff --git a/reference/datetime/functions/date-parse.xml b/reference/datetime/functions/date-parse.xml index d8967bfbca..0f94cc16e5 100644 --- a/reference/datetime/functions/date-parse.xml +++ b/reference/datetime/functions/date-parse.xml @@ -1,5 +1,5 @@ - + @@ -15,20 +15,23 @@ stringdatetime - Функция date_parse разбирает указанную - в параметре datetime строку по тем же правилам, - что и функции strtotime и DateTimeImmutable::__construct. - Вместо того чтобы возвращать временную метку Unix (при использовании функции strtotime) или объект DateTimeImmutable (при использовании функции DateTimeImmutable::__construct), - она возвращает ассоциативный массив с информацией, - которую функция смогла обнаружить в данной строке параметра datetime. + Функция date_parse разбирает строку + параметра datetime аналогично + функции strtotime или методу DateTimeImmutable::__construct, + но вместо возврата метки Unix-времени, как это делает функция strtotime, или объекта + DateTimeImmutable, который создаёт метод DateTimeImmutable::__construct), + функция возвращает ассоциативный массив с информацией, + которую функция обнаружила в строке параметра datetime. - Если информация об определённой группе элементов не найдена, - эти элементы массива будут установлены в значение &false; или будут отсутствовать. - Если это необходимо для построения временной метки или объекта DateTimeImmutable - из одной и той же строки параметра datetime, - большее количество полей может быть установлено в значение не &false;. - Смотрите примеры, в которых это происходит. + Функция установит элементам массива значение &false; или пропустит элемент, + если не найдёт информацию о конкретных компонентах даты и времени. + Поэтому в PHP предусмотрели другие функции для работы с датой и временем, + которые при том же значении параметра datetime + умеют создавать метку времени или объект DateTimeImmutable, + в котором заполняют значения для большего количества компонентов времени, + тогда как эта функция для аналогичных компонентов устанавливает значение &false;. + Примеры на этой странице показывают обработку строк, из которых невозможно извлечь отдельные компоненты времени. @@ -40,7 +43,7 @@ datetime - Дата/время в формате, распознаваемом функцией DateTimeImmutable::__construct. + Строка с датой и временем в формате, который распознаёт метод DateTimeImmutable::__construct. @@ -51,47 +54,48 @@ &reftitle.returnvalues; - Возвращает массив (array), содержащий информацию о дате/времени. + Функция возвращает массив (array) с информацией о дате и времени. - Возвращаемый массив содержит ключи year, + Результирующий массив содержит следующие ключи: year, month, day, hour, minute, second, fraction и is_localtime. - Если присутствует is_localtime, то zone_type указывает тип часового пояса. - Для типа 1 (смещение UTC) указывается zone, добавляется поле is_dst; - для типа 2 (аббревиатура) добавляются поля tz_abbr и is_dst; - для типа 3 (идентификатор часового пояса) добавляются поля tz_abbr и tz_id. + Элемент zone_type укажет тип часового пояса, если массив с результатами содержит элемент is_localtime. + Для 1-го типа представления часовых поясов — со смещением относительно UTC — добавляются поля zone и is_dst; + для 2-го типа представления — аббревиатура — добавляются поля tz_abbr и is_dst; + для 3-го тип — идентификатор часового пояса — добавляются поля tz_abbr и tz_id. - Если в параметре datetime присутствуют элементы относительного времени, - например, +3 days, то возвращаемый массив включает вложенный массив с ключом relative. - Этот массив затем содержит ключи + Функция включит в массив с результатами массив relative, + если строка datetime содержит элементы относительного времени + наподобие +3 days. + Массив с результатами разбора элементов времени в относительном формате содержит следующие ключи: year, month, day, hour, minute, - second, и, если необходимо, weekday и - weekdays, в зависимости от переданной строки. + second и, если строка содержит названия дней недели или относительные количества рабочих дней, + weekday и weekdays. Массив включает поля warning_count и warnings. - Первое из них указывает, сколько было предупреждений. - Ключи элементов массива warnings указывают на позицию в данном параметре datetime, - где произошло предупреждение, а строковое значение описывает само предупреждение. + Первое указывает количество предупреждений. + Ключи элементов массива warnings указывают позицию в аргументе datetime, + на которой возникло предупреждение, а строковое значение содержит описание предупреждения. Массив также содержит поля error_count и errors. - Первое из них указывает, сколько ошибок было найдено. - Ключи элементов массива errors указывают на позицию в данном параметре datetime, - где произошла ошибка, а строковое значение описывает саму ошибку. + Первое указывает количество ошибок. + Ключи элементов массива errors указывают позицию в аргументе datetime, + на которой возникла ошибка, а строковое значение содержит описание ошибки. - Количество элементов массивов warnings и - errors может быть меньше, чем - warning_count или error_count, - если они возникли в одной и той же позиции. + Функция запишет в массивы warnings + и errors меньшее количество элементов, + чем указывают значения элементов warning_count и error_count, + если предупреждения или ошибки возникнут на тех же позициях. @@ -99,8 +103,8 @@ &reftitle.errors; - В случае возникновения ошибок форматирования даты/времени, элемент массива 'errors' будет - содержать сообщения об этих ошибках. + При недопустимом формате даты и времени во входной строке + функция заполнит массив 'errors' элементами с сообщениями об ошибках. @@ -118,10 +122,9 @@ 7.2.0 - Элемент возвращаемого массива с ключом zone - теперь содержит секунды, а не минуты. Кроме того, знак - инвертирован. Т.е. раньше был - -120, а теперь 7200. + Элемент zone в массиве результатов теперь содержит + секунды вместо минут, а знак инвертируется, например: + значение -120 теперь выводится как 7200. @@ -133,12 +136,12 @@ &reftitle.examples; - Пример использования функции <function>date_parse</function> с полной строкой <parameter>datetime</parameter> + Пример разбора полной строки даты и времени <parameter>datetime</parameter>а функцией <function>date_parse</function> ]]> &example.outputs; @@ -178,16 +181,16 @@ array(12) { - Элементы часовых поясов появляются только в том случае, - если они включены в заданную строку параметра datetime. - В этом случае всегда будет присутствовать элемент zone_type и ещё несколько в зависимости от его значения. + Функция включает элементы часового пояса в результаты, + только если строка параметра datetime содержит информацию о часовом поясе. + Для часовых поясов функция включает элемент zone_type и ряд других элементов в зависимости от значения типа представления часового пояса. - Пример использования <function>date_parse</function> с информацией об аббревиатуре часового пояса + Пример разбора строки с аббревиатурой часового пояса функцией <function>date_parse</function> ]]> &example.outputs; @@ -233,12 +236,12 @@ array(16) { - Пример использования <function>date_parse</function> с информацией об идентификаторе часового пояса + Пример разбора строки с идентификатором часового пояса функцией <function>date_parse</function> ]]> &example.outputs; @@ -282,15 +285,15 @@ array(14) { - Если разбирается более минимальная строка параметра datetime, - то информации будет меньше. В этом примере все части времени возвращаются как &false;. + При разборе немногословной строки datetime функция возвращает меньше информации. + В следующем примере функция возвращает массив, в котором все компоненты времени содержат значение &false;. - Пример использования <function>date_parse</function> с минимальной строкой + Пример разбора строки с минимумом информации о дате функцией <function>date_parse</function> ]]> &example.outputs; @@ -331,14 +334,13 @@ array(12) { Относительные форматы не влияют на значения, - разбираемые из абсолютных форматов, но разбираются в элемент "relative". + которые функция извлекла при разборе абсолютных форматов даты и времени, но результаты разбора относительных форматов включаются в элемент "relative". - Пример использования <function>date_parse</function> с относительными форматами + Пример разбора строки с относительными форматами даты и времени функцией <function>date_parse</function> ]]> &example.outputs; @@ -393,17 +395,17 @@ array(13) { - Некоторые строки, такие как Thursday, установят временную часть строки в значение 0. - Если Thursday передать в функцию DateTimeImmutable::__construct, - то это также приведёт к тому, что час, минута, секунда и дробь будут установлены в значение 0. - В приведённом ниже примере элемент year, однако, оставлен как &false;. + При разборе названий дней недели наподобие Thursday функция установит для компонентов + hour, minute, second и fraction значение 0. При передаче значения Thursday + в метод DateTimeImmutable::__construct для каждого компонента времени также устанавливается значение 0. + В следующем примере для элемента year, однако, функция оставляет значение &false;. - Пример использования <function>date_parse</function> с побочными эффектами + Пример побочных эффектов в работе функции <function>date_parse</function> ]]> &example.outputs; diff --git a/reference/datetime/functions/date-sun-info.xml b/reference/datetime/functions/date-sun-info.xml index 8655a7965e..066f80f7b2 100644 --- a/reference/datetime/functions/date-sun-info.xml +++ b/reference/datetime/functions/date-sun-info.xml @@ -1,11 +1,11 @@ - + date_sun_info - Возвращает массив с информацией о закате или рассвете и начале или окончании сумерек + Возвращает массив с информацией о закате и восходе Солнца, и начале и окончании сумерек @@ -26,7 +26,7 @@ timestamp - Unix-метка времени. + Метка Unix-времени. @@ -53,7 +53,7 @@ &reftitle.returnvalues; - Функция возвращает массив, чью структуру подробно описывает следующий список: + Функция возвращает массив, подробную информацию о структуре которого содержит следующий список: @@ -61,7 +61,7 @@ sunrise - Временная метка восхода солнца (зенитный угол = 90°35'). + Метка времени восхода Солнца, когда угол зенита равен 90°35'. @@ -69,7 +69,7 @@ sunset - Временная метка заката солнца (зенитный угол = 90°35'). + Метка времени заката Солнца, когда угол зенита равен 90°35'. @@ -77,7 +77,7 @@ transit - Временная метка, когда солнце находится в своём зените, то есть достигло самой верхней точки. + Метка времени кульминации Солнца — прохождения зенита, или наивысшей точки над горизонтом. @@ -85,7 +85,8 @@ civil_twilight_begin - Начало гражданского рассвета (зенитный угол = 96°). Оно заканчивается на sunrise. + Начало утренних гражданских сумерек, когда угол зенита равен 96°. + Утренние гражданские сумерки заканчиваются в момент восхода Солнца — sunrise. @@ -93,7 +94,8 @@ civil_twilight_end - Конец гражданского заката (зенитный угол = 96°). Оно начинается на sunset. + Конец вечерних гражданских сумерек, когда угол зенита равен 96°. + Вечерние гражданские сумерки начинаются в момент заката Солнца — sunset. @@ -101,8 +103,8 @@ nautical_twilight_begin - Начало навигационного рассвета (зенитный угол = 102°). Оно заканчивается - civil_twilight_begin. + Начало навигационного рассвета, когда угол зенита равен 102°. + Навигационный рассвет заканчивается в момент начала гражданского рассвета — civil_twilight_begin. @@ -110,8 +112,8 @@ nautical_twilight_end - Конец навигационного заката (зенитный угол = 102°). Оно начинается на - civil_twilight_end. + Конец навигационного заката, когда угол зенита равен 102°. + Навигационный закат начинается в момент окончания вечерних гражданских сумерек — civil_twilight_end. @@ -119,8 +121,8 @@ astronomical_twilight_begin - Начало астрономического рассвета (зенитный угол = 108°). Оно заканчивается на - nautical_twilight_begin. + Начало астрономического рассвета, когда угол зенита равен 108°. + Астрономический рассвет заканчивается в момент начала навигационного рассвета — nautical_twilight_begin. @@ -128,16 +130,17 @@ astronomical_twilight_end - Конец астрономического заката (зенитный угол = 108°). Оно начинается на - nautical_twilight_end. + Конец астрономического заката, когда угол зенита равен 108°. + Астрономический закат начинается в момент окончания навигационного заката — nautical_twilight_end. - Значения элементов массива — UNIX-метка времени, &false;, если солнце находится - ниже соответствующего зенита в течение всего дня, или &true;, если солнце находится выше соответствующего зенита в течение всего дня. + Функция устанавливает для элементов массива следующие значения: а) метку Unix-времени, + б) значение &false;, если Солнце в течение всего дня не достигает угла зенита для события, + или в) значение &true;, если Солнце в течение всего дня остаётся выше угла зенита, который соответствует событию. @@ -156,8 +159,8 @@ 7.2.0 - Расчёт был исправлен с учётом местной полуночи вместо местного полудня, - что несколько изменяет результаты. + Функция теперь берёт за точку отсчёта местную полночь, а не местный полдень, + что исправляет расчёты значений и повышает точность результатов. @@ -170,7 +173,7 @@ &reftitle.examples; - Пример использования функции <function>date_sun_info</function> + Пример работы функции <function>date_sun_info</function> $val) { echo "$key: " . date("H:i:s", $val) . "\n"; } - -?> ]]> &example.outputs; @@ -201,7 +202,7 @@ astronomical_twilight_end: 17:12:00 - Полярная ночь с некоторой обработкой + Пример обработки результатов в дату внутри периода полярной ночи $value) { ": {$key}", "\n"; } - -?> ]]> &example.outputs; @@ -239,15 +238,13 @@ never: sunset - Полуночное солнце (Тромсё, Норвегия) + Пример результатов в дату внутри периода полярного дня в Тромсё, Норвегия ]]> &example.outputs; @@ -272,7 +269,7 @@ Array - Вычисление продолжительности дня (Киев) + Пример вычисления продолжительности дня в Киеве + floor(($diff % 3600) / 60), " сек.\n"; ]]> &example.outputs; diff --git a/reference/datetime/functions/date-sunrise.xml b/reference/datetime/functions/date-sunrise.xml index 39f6927bc5..7dd507edb2 100644 --- a/reference/datetime/functions/date-sunrise.xml +++ b/reference/datetime/functions/date-sunrise.xml @@ -1,5 +1,5 @@ - + @@ -232,13 +232,13 @@ offset: +1 GMT */ echo date("D M d Y"). ', время восхода солнца : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1); - -?> ]]> &example.outputs.similar; @@ -251,13 +251,13 @@ Mon Dec 20 2004, время восхода солнца : 08:54 $solstice = strtotime('2017-12-21'); var_dump(date_sunrise($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222)); - -?> ]]> &example.outputs; diff --git a/reference/datetime/functions/date-sunset.xml b/reference/datetime/functions/date-sunset.xml index a6b4fc2a95..3a0d317c2f 100644 --- a/reference/datetime/functions/date-sunset.xml +++ b/reference/datetime/functions/date-sunset.xml @@ -1,5 +1,5 @@ - + @@ -244,13 +244,13 @@ offset: +1 GMT */ echo date("D M d Y"). ', время захода солнца : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1); - -?> ]]> &example.outputs.similar; @@ -263,13 +263,13 @@ Mon Dec 20 2004, время захода солнца : 18:13 $solstice = strtotime('2017-12-21'); var_dump(date_sunset($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222)); - -?> ]]> &example.outputs; diff --git a/reference/datetime/functions/date.xml b/reference/datetime/functions/date.xml index a55d72a3b8..c65aae35de 100644 --- a/reference/datetime/functions/date.xml +++ b/reference/datetime/functions/date.xml @@ -1,5 +1,5 @@ - + @@ -111,22 +111,20 @@ date_default_timezone_set('UTC'); // Выведет что-то наподобие: Monday -echo date("l"); +echo date("l") . "\n"; // Выведет что-то наподобие: Monday 8th of August 2005 03:12:46 PM -echo date('l jS \of F Y h:i:s A'); +echo date('l jS \of F Y h:i:s A') . "\n"; // Выведет: July 1, 2000 is on a Saturday -echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)); +echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)) . "\n"; /* Пример константы в параметре format */ // Выведет что-то наподобие: Mon, 15 Aug 2005 15:12:46 UTC -echo date(DATE_RFC822); +echo date(DATE_RFC822) . "\n"; // Выведет что-то наподобие: 2000-07-01T00:00:00+00:00 echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000)); - -?> ]]> @@ -144,61 +142,9 @@ echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000)); // Выведет что-то наподобие: Wednesday the 15th echo date('l \t\h\e jS'); - -?> -]]> - - - - - Функции date и mktime вызывают вместе, - чтобы найти даты в будущем или прошлом. - - - Пример работы функции <function>date</function> с функцией <function>mktime</function> - - - ]]> - - - Этот способ надёжнее, чем простое добавление или вычитание из метки времени - количества секунд в дне или месяце из-за перехода на летнее время. - - Приведём ещё ряд примеров форматирования даты функцией date. @@ -216,19 +162,18 @@ $nextyear = mktime( // Предположим, что сегодня 10 марта 2001 и 5:16:18 вечера // в часовом поясе Mountain Standard Time (MST) - -$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm -$today = date("m.d.y"); // 03.10.01 -$today = date("j, n, Y"); // 10, 3, 2001 -$today = date("Ymd"); // 20010310 -$today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01 -$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day. -$today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001 -$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month -$today = date("H:i:s"); // 17:16:18 -$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (формат MySQL DATETIME) - -?> +date_default_timezone_set("America/Phoenix"); + +echo date("F j, Y, g:i a") . "\n"; // March 10, 2001, 5:16 pm +echo date("m.d.y") . "\n"; // 03.10.01 +echo date("j, n, Y") . "\n"; // 10, 3, 2001 +echo date("Ymd") . "\n"; // 20010310 +echo date('h-i-s, j-m-y, it is w Day') . "\n"; // 05-16-18, 10-03-01, 1631 1618 6 Satpm01 +echo date('\i\t \i\s \t\h\e jS \d\a\y.') . "\n"; // it is the 10th day. +echo date("D M j G:i:s T Y") . "\n"; // Sat Mar 10 17:16:18 MST 2001 +echo date('H:m:s \m \i\s\ \m\o\n\t\h') . "\n"; // 17:03:18 m is month +echo date("H:i:s") . "\n"; // 17:16:18 +echo date("Y-m-d H:i:s") . "\n"; // 2001-03-10 17:16:18 (the MySQL DATETIME format) ]]> diff --git a/reference/datetime/functions/getdate.xml b/reference/datetime/functions/getdate.xml index a788c57f56..1d8f345625 100644 --- a/reference/datetime/functions/getdate.xml +++ b/reference/datetime/functions/getdate.xml @@ -1,10 +1,10 @@ - + getdate - Возвращает информацию о дате/времени + Возвращает информацию о дате и времени @@ -14,10 +14,10 @@ intnulltimestamp&null; - Возвращает ассоциативный массив (array), содержащий - информацию о дате, представленной меткой времени - timestamp или текущим системным временем, - если timestamp не был передан или &null;. + Функция возвращает ассоциативный массив (array) + с информацией о дате, которую представляет либо метка времени + timestamp, либо текущее системное время, + если аргумент timestamp опустили или передали значение &null;. @@ -35,8 +35,8 @@ &reftitle.returnvalues; - Возвращает ассоциативный массив (array) с информацией - о параметре timestamp, который содержит + Функция возвращает ассоциативный массив (array) с информацией + о моменте времени в параметре timestamp. Ассоциативный массив содержит следующие элементы: @@ -74,7 +74,7 @@ "wday" Порядковый номер дня недели - от 0 (воскресенье) до 6 (суббота) + от 0 для воскресенья до 6 для субботы "mon" @@ -93,23 +93,24 @@ "weekday" - Полное наименование дня недели + Полное название дня недели от Sunday до Saturday "month" - Полное наименование месяца, например, January или March + Полное название месяца, например, January или March от January до December 0 - Количество секунд, прошедших с начала эпохи Unix (The Unix - Epoch), подобно значению, возвращаемому функцией time - и используемому функцией date. + Количество секунд, которое прошло с начала эпохи Unix, + аналогично значению, которое возвращает функция time, + и которое принимает функция date - Зависит от платформы, в большинстве случаев от - -2147483648 до 2147483647. + + Значение в целочисленном диапазоне, доступном на платформе; на 32-битных системах + значение от -2147483648 до 2147483647. @@ -133,7 +134,7 @@ 8.0.0 - timestamp теперь допускает значение null. + Параметр timestamp теперь принимает значение &null;. @@ -146,13 +147,13 @@ &reftitle.examples; - Пример использования функции <function>getdate</function> + Пример получения информации о дате и времени функцией <function>getdate</function> ]]> &example.outputs.similar; @@ -162,15 +163,15 @@ Array ( [seconds] => 40 [minutes] => 58 - [hours] => 21 - [mday] => 17 - [wday] => 2 - [mon] => 6 - [year] => 2003 - [yday] => 167 + [hours] => 21 + [mday] => 17 + [wday] => 2 + [mon] => 6 + [year] => 2003 + [yday] => 167 [weekday] => Tuesday - [month] => June - [0] => 1055901520 + [month] => June + [0] => 1055901520 ) ]]> diff --git a/reference/datetime/functions/gettimeofday.xml b/reference/datetime/functions/gettimeofday.xml index e61977bde2..ad028bf9fe 100644 --- a/reference/datetime/functions/gettimeofday.xml +++ b/reference/datetime/functions/gettimeofday.xml @@ -1,5 +1,5 @@ - + @@ -14,9 +14,8 @@ boolas_float&false; - Функция является интерфейсом к системному вызову - gettimeofday(2). Она возвращает ассоциативный массив, содержащий - информацию, полученную от системного вызова. + Функция — интерфейс к системному вызову функции gettimeofday(2). + Функция возвращает ассоциативный массив с информацией, которую получила от системного вызова. @@ -28,7 +27,7 @@ as_float - Если установлено в &true;, вместо массива возвращается число + При передаче значения &true; вместо массива возвращается число с плавающей точкой. @@ -40,31 +39,30 @@ &reftitle.returnvalues; - По умолчанию возвращается массив (array). Если установлен - параметр as_float, то возвращается число с плавающей точкой - (float). + По умолчанию функция возвращает массив (array). + При установке параметра as_float возвращается значение float. Ключи массива: - "sec" - количество секунд, прошедших с эпохи Unix + "sec" — количество секунд, которое прошло с начала эпохи Unix - "usec" - микросекунды + "usec" — микросекунды - "minuteswest" - смещение к западу от Гринвича, в минутах + "minuteswest" — смещение к западу от Гринвича, в минутах - "dsttime" - тип коррекции летнего времени + "dsttime" — тип коррекции летнего времени @@ -75,14 +73,14 @@ &reftitle.examples; - Пример использования функции <function>gettimeofday</function> + Пример получения информации о времени функцией <function>gettimeofday</function> ]]> &example.outputs.similar; @@ -95,7 +93,6 @@ Array [minuteswest] => 0 [dsttime] => 1 ) - 1073504408.23910 ]]> diff --git a/reference/datetime/functions/gmdate.xml b/reference/datetime/functions/gmdate.xml index 0038015373..8fa4109608 100644 --- a/reference/datetime/functions/gmdate.xml +++ b/reference/datetime/functions/gmdate.xml @@ -1,10 +1,10 @@ - + gmdate - Форматирует дату/время по Гринвичу + Форматирует дату и время как время UTC @@ -15,8 +15,8 @@ intnulltimestamp&null; - Эта функция идентична функции date за - исключением того, что возвращает время по Гринвичу (GMT). + Функция работает аналогично функции date, + но игнорирует смещение времени в текущем часовом поясе и форматирует метку времени как UTC-время. @@ -28,8 +28,8 @@ format - Формат выводимой даты типа строка (string). Смотрите параметры - форматирования для функции date. + Формат даты. Функция вернёт значение string с датой в заданном формате. + Параметры форматирования описывает страница функции date. @@ -43,7 +43,7 @@ &reftitle.returnvalues; - Возвращает строку с форматированной датой. + Функция возвращает строку с отформатированной датой. @@ -62,7 +62,7 @@ 8.0.0 - timestamp теперь допускает значение null. + Параметр timestamp теперь принимает значение &null;. @@ -75,19 +75,24 @@ &reftitle.examples; - Пример использования <function>gmdate</function> - - Например, в Финляндии (GMT +0200), первая строка в следующем примере - выведет "Jan 01 1998 00:00:00", а вторая - "Dec 31 1997 22:00:00". - + Пример форматирования даты и времени функцией <function>gmdate</function> + +date_default_timezone_set("Europe/Helsinki"); + +echo date("M d Y H:i:s e", mktime(0, 0, 0, 1, 1, 1998)) . "\n"; +echo gmdate("M d Y H:i:s e", mktime(0, 0, 0, 1, 1, 1998)); ]]> + &example.outputs; + + + diff --git a/reference/datetime/functions/gmmktime.xml b/reference/datetime/functions/gmmktime.xml index 06ca3e7a81..eb75b60efb 100644 --- a/reference/datetime/functions/gmmktime.xml +++ b/reference/datetime/functions/gmmktime.xml @@ -1,10 +1,10 @@ - + gmmktime - Возвращает локальную метку времени Unix для времени по Гринвичу + Получает метку Unix-времени для времени UTC @@ -19,19 +19,20 @@ intnullyear&null; - Эта функция идентична функции mktime, за исключением того, что - аргументы являются временем по Гринвичу (GMT). gmmktime внутри - использует mktime, поэтому могут быть использованы только те даты - местного времени, которые корректно представляются в этом часовом поясе. + Функция работает аналогично функции mktime, + но игнорирует смещение времени в текущем часовом поясе и интерпретирует аргументы как UTC-время. + Функция gmmktime внутренне опирается на функцию mktime, + которая возвращает правильный результат только для допустимых для местного часового пояса моментов времени. - Подобно функции mktime, необязательные аргументы могут быть - опущены в порядке справа налево, при этом все опущенные аргументы - предполагаются равными соответствующим компонентам текущего времени по Гринвичу. + Аналогично функции mktime необязательные аргументы + опускают в порядке справа налево, при этом параметрам без аргументов + функция установит значения, которые соответствуют компонентам текущего времени UTC. Вызов функции gmmktime без аргументов не поддерживается - и приведёт к ошибке ArgumentCountError. + и выбросит ошибку ArgumentCountError. + Метку времени без передачи аргументов получают функцией time. @@ -43,11 +44,11 @@ hour - Количество часов, прошедших с начала дня, указанного параметрами - month, day и - year. - Отрицательные значения определяют часы до полуночи указанного дня. - Значения, большие 23 определяют соответствующий час следующего дня (или дней). + Номер часа с начала дня, который определили параметрами + month, day + и year. + Отрицательные значения соответствуют часам предыдущих дней, + а значения больше 23 — следующих. @@ -55,10 +56,10 @@ minute - Количество минут, прошедших от начала часа, указанного параметром + Номер минуты с начала часа, который определили в параметре hour. - Отрицательные значения определяют минуты предыдущего часа. - Значения, большие 59 определяют соответствующие минуты следующего часа (или часов). + Отрицательные значения соответствуют минутам предыдущих часов, + а значения больше 59 — следующих. @@ -66,10 +67,10 @@ second - Количество секунд, прошедших от начала минуты, указанной параметром - minute. Отрицательные значения определяют секунды из - предыдущей минуты. Значения, большие 59 определяют соответствующие секунды - следующей минуты (или минут). + Номер секунды с начала минуты, которую определили в параметре + minute. + Отрицательные значения соответствуют секундам предыдущих минут, + а значения больше 59 — следующих. @@ -77,12 +78,11 @@ month - Количество месяцев, прошедших с конца предыдущего года. - Значения от 1 до 12 определяют нормальные обычные календарные месяцы года. - Значения, меньшие 1 (включая отрицательные значения) определяют месяца предыдущего - года в обратном порядке, то есть 0 будет декабрём, -1 - ноябрём и т.д. - Значения больше 12 определяют соответствующий месяц в следующем - году (или годах). + Номер месяца в году. + Значения от 1 до 12 соответствуют месяцам заданного года. + Значения меньше 1, включая отрицательные, соответствуют месяцам предыдущих лет в обратном порядке, + поэтому 0 станет декабрём, -1 — ноябрём и т. д. + Значения больше 12 соответствуют месяцам следующих лет. @@ -90,13 +90,12 @@ day - Количество дней, прошедших с конца предыдущего месяца. Значения от 1 до 28, 29, 30 - или 31 (в зависимости от месяца) определяют нормальные дни соответствующего месяца. - Значения, меньшие 1 (включая отрицательные значения) определяют дни предыдущего - месяца, таким образом, 0 является последним днём предыдущего месяца, -1 - - предпоследним днём предыдущего месяца и т.д. Значения, большие количества дней - соответствующего месяца определяют соответствующий день следующего месяца - (или месяцев). + Номер дня в месяце. Значения от 1 до 28, 29, 30 + или 31 — в зависимости от месяца — соответствуют дням заданного месяца. + Значения меньше 1, включая отрицательные, соответствуют дням предыдущих + месяцев, поэтому 0 становится последним днём предыдущего месяца, -1 — + предпоследним днём предыдущего месяца и т. д. Значения, которые превышают количество + дней в заданном месяце, соответствуют дням следующих месяцев. @@ -104,7 +103,7 @@ year - Год + Год. @@ -115,8 +114,8 @@ &reftitle.returnvalues; - Возвращает временную метку Unix (int) в случае успешного выполнения или &false;, - если временная метка не может быть представлена в виде целого числа PHP. + Функция возвращает значение int — метку времени Unix, если выполнилась успешно, + значение &false;, если метка выходит за пределы целочисленного значения PHP. @@ -135,15 +134,15 @@ 8.0.0 - hour больше не является необязательным. - Если вам нужна временная метка Unix, используйте функцию time. + Параметр hour стал обязательным. + Метку времени Unix без передачи аргументов возвращает функция time. 8.0.0 - minute, second, month, - day и year теперь допускают значение null. + Параметры minute, second, month, + day и year теперь принимают значение &null;. @@ -156,15 +155,22 @@ &reftitle.examples; - Базовый пример использования <function>gmmktime</function> + Базовый пример получения метки UTC-времени функцией <function>gmmktime</function> ]]> + &example.outputs; + + + @@ -173,7 +179,7 @@ echo "July 1, 2000 is on a " . date("l", gmmktime(0, 0, 0, 7, 1, 2000)); &reftitle.seealso; - The DateTimeImmutable class + Класс DateTimeImmutable mktime date time diff --git a/reference/datetime/functions/gmstrftime.xml b/reference/datetime/functions/gmstrftime.xml index 8e0e7739a6..1f41ead7f2 100644 --- a/reference/datetime/functions/gmstrftime.xml +++ b/reference/datetime/functions/gmstrftime.xml @@ -1,10 +1,10 @@ - + gmstrftime - Форматирует дату и время по Гринвичу с учётом текущей локали + Форматирует дату и время как время UTC с учётом региональных настроек @@ -24,17 +24,17 @@ intnulltimestamp&null; - Функция идентична функции strftime, - за исключением того, что возвращает время по Гринвичу (GMT). Например, - при запуске в системе, в которой установили часовой пояс Eastern Standard Time (GMT-0500), - первая строка из приведённого примера выведет "Dec 31 1998 20:00:00", + Функция работает аналогично функции strftime, + но игнорирует смещение времени в текущем часовом поясе и форматирует метку времени как UTC-время с учётом региональных настроек. + Например, при запуске в системе, в которой установили часовой пояс Eastern Standard Time со смещением GMT-0500, + первая строка приведённого примера выведет "Dec 31 1998 20:00:00", а вторая — "Jan 01 1999 01:00:00". - Функция зависит от региональных настроек операционной системы, которые иногда - несовместимы друг с другом или вообще недоступны. - Вместо этой функции лучше пользоваться методом IntlDateFormatter::format. + Функция зависит от региональных настроек операционной системы, + которые не гарантируют совместимость или доступность региональных настроек в другой ОС. + Для форматирования даты без влияния региональных настроек ОС вызывают метод IntlDateFormatter::format. @@ -47,7 +47,7 @@ format - Смотрите описание функции strftime. + См. описание функции strftime. @@ -59,13 +59,12 @@ &reftitle.returnvalues; - Функция возвращает строку, которую отформатировала с учётом строки формата - и метки времени, которую передали в аргументе timestamp, - или текущего локального времени, если временную метку - не указали. Названия месяцев, дней недели и других языкозависимых строк - отобразятся с учётом настроек текущей локали, которую установили + Функция возвращает строку в заданном формате. + Функция форматирует дату и время на основе метки времени, которую передали в аргументе timestamp, + или текущего локального времени, если метку времени не указали. Названия месяцев, дней недели и других языкозависимых строк + учитывают настройки текущей локали, которую установили функцией setlocale. - Функция возвращает &false;, если возникла ошибка. + Функция возвращает значение &false;, если возникла ошибка. @@ -97,7 +96,7 @@ &reftitle.examples; - Пример форматирования даты и времени по Гринвичу функцией <function>gmstrftime</function> + Пример форматирования даты и времени как UTC-времени с учетом текущей локали функцией <function>gmstrftime</function> ]]> diff --git a/reference/datetime/functions/idate.xml b/reference/datetime/functions/idate.xml index 69e872e828..7133708923 100644 --- a/reference/datetime/functions/idate.xml +++ b/reference/datetime/functions/idate.xml @@ -1,10 +1,10 @@ - + idate - Преобразовывает локальное время/дату в целое число + Форматирует компонент даты или времени местного часового пояса как целое число @@ -15,15 +15,14 @@ intnulltimestamp&null; - Преобразовывает текущую дату и время в целое число в соответствии со строкой - форматирования format. Если аргумент - timestamp задан, расчёт будет произведён для - этой временной метки, если нет — будет использовано локальное время. - Другими словами, метка времени timestamp — это необязательный - аргумент и по умолчанию равен значению time. + Функция обрабатывает значение параметра timestamp + или получает метку текущего системного времени, если параметр опустили, + и возвращает целочисленное значение компонента даты или времени в заданном формате. + Поэтому параметр timestamp необязателен + и по умолчанию равен значению, которое возвращает функция time. - В отличие от функции date, функция idate + Функция idate, в отличие от функции date, принимает только один символ в аргументе format. @@ -42,14 +41,14 @@ - символ в format + Символ в аргументе format Описание B - Эталонное время/Время Интернета + «Бит» времени в системе Swatch, или интернет-время d @@ -57,11 +56,11 @@ h - Час (12 часовой формат) + Час в 12-часовом формате H - Час (24 часовой формат) + Час в 24-часовом формате i @@ -69,13 +68,17 @@ I (i в верхнем регистре) - возвращает 1, если активировано DST, или - 0 в противном случае + + Возвращает 1, если действует летнее время, + иначе 0 + L (l в верхнем регистре) - возвращает 1 для високосного года, - 0 в противном случае + + Возвращает 1 для високосного года, + иначе 0 + m @@ -84,13 +87,13 @@ N - День недели в ISO-8601 (с 1 для понедельника - по 7 для воскресенья) + День недели по стандарту ISO-8601, где 1 — понедельник, + а 7 — воскресенье o - Год в ISO-8601 (4 цифры) + Год по стандарту ISO-8601 — 4 цифры s @@ -102,24 +105,26 @@ U - Время в секундах, от начала эпохи UNIX - 1 января 1970 00:00:00 UTC - - то же, что time + + Время в секундах с начала эпохи Unix — 00:00:00 1 января 1970 по времени UTC, + аналогично значению, которое возвращает функция time + w - День недели (0 - Воскресенье) + День недели, где 0 — воскресенье W - ISO-8601 - Номер недели года, неделя начинается с понедельника + Номер недели года по стандарту ISO-8601, неделя начинается с понедельника y - Год (1 или 2 цифры - смотрите примечание ниже) + Год в 1- или 2-значном формате, см. примечание в примере Y - Год (4 цифры) + Год в 4-значном формате z @@ -127,7 +132,7 @@ Z - Часовой пояс — смещение в секундах + Смещение времени часового пояса в секундах @@ -145,13 +150,13 @@ &reftitle.returnvalues; - Возвращает целое число (int) в случае успешного выполнения&return.falseforfailure;. + Функция возвращает значение int, если выполнилась успешно,&return.falseforfailure;. - idate всегда возвращает тип - int и не может начинаться с нуля, поэтому - idate может вернуть меньше цифр, чем вы - ожидаете. Смотрите примеры ниже. + Функция idate иногда возвращает значение, + разрядность которого меньшей ожидаемой, поскольку функция idate + возвращает только значения int, которым нельзя начинаться с нуля. + См. пример. @@ -177,15 +182,15 @@ 8.2.0 - Добавлены символы для параметра format: - N (День недели в ISO-8601) и - o (Год в ISO-8601). + Добавили символы форматирования: + N — день недели по стандарту ISO-8601 + и o — год по стандарту ISO-8601. 8.0.0 - timestamp теперь допускает значение null. + Параметр timestamp теперь принимает значение &null;. @@ -198,19 +203,29 @@ &reftitle.examples; - Пример использования <function>idate</function> + Пример форматирования компонента даты или времени функцией <function>idate</function> ]]> + &example.outputs; + + + diff --git a/reference/datetime/functions/localtime.xml b/reference/datetime/functions/localtime.xml index 6e8a42acc6..cab21f8325 100644 --- a/reference/datetime/functions/localtime.xml +++ b/reference/datetime/functions/localtime.xml @@ -1,5 +1,5 @@ - + @@ -93,7 +93,7 @@ - "tm_isdst" — действует ли летнее время? + "tm_isdst" — указывает, действует ли летнее время Элемент содержит положительное значение, если летнее время действует, @@ -126,7 +126,7 @@ 8.0.0 - Параметр timestamp теперь принимает значение null. + Параметр timestamp теперь принимает значение &null;. @@ -149,8 +149,6 @@ $localtime_assoc = localtime(time(), true); print_r($localtime); print_r($localtime_assoc); - -?> ]]> &example.outputs.similar; diff --git a/reference/datetime/functions/microtime.xml b/reference/datetime/functions/microtime.xml index 3ebd7b6b57..413a5006c3 100644 --- a/reference/datetime/functions/microtime.xml +++ b/reference/datetime/functions/microtime.xml @@ -1,5 +1,5 @@ - + @@ -15,11 +15,11 @@ Функция microtime возвращает текущую метку - времени Unix с микросекундами. Эта функция доступна только на - операционных системах, в которых есть системный вызов gettimeofday(). + времени Unix с микросекундами. Функция доступна только + на операционных системах, в которых доступен системный вызов функции gettimeofday(). - Для измерения производительности рекомендуется использовать hrtime. + Для измерения производительности вызывают функцию hrtime. @@ -31,10 +31,9 @@ as_float - Если указано и установлено в &true;, microtime - возвратит число с плавающей точкой (float) вместо - строки (string), - как описано в разделе возвращаемых значений ниже. + При передаче значения &true; функция microtime + вернёт значение float вместо string, + как описывает раздел значений возврата. @@ -45,17 +44,17 @@ &reftitle.returnvalues; - По умолчанию microtime возвращает строку (string) - в формате "msec sec", где sec представляет собой - количество секунд в виде десятичной дроби с начала эпохи Unix - (1 января 1970 0:00:00 GMT), а msec - - это количество микросекунд, прошедших после sec. + По умолчанию функция microtime возвращает строку (string) + в формате "msec sec", где sec — + количество секунд в виде десятичной дроби с начала эпохи Unix — + 00:00:00 1 января 1970 по времени UTC, а msec — + количество микросекунд, которое прошло после sec. - Если параметр as_float установлен в &true;, - то microtime возвратит результат в вещественном виде - (float), представляющий собой текущее время в секундах, - прошедших с начала эпохи Unix с точностью до микросекунд. + При передаче в параметр as_float значения &true; + функция microtime вернёт результат в вещественном виде + (float) — текущее время в секундах, + которое прошло с начала эпохи Unix с точностью до микросекунд. @@ -63,37 +62,37 @@ &reftitle.examples; - Замер времени выполнения скрипта + Пример замера времени выполнения скрипта +print "Скрипт ничего не делал $time секунд\n"; ]]> - Пример использования <function>microtime</function> и <literal>REQUEST_TIME_FLOAT</literal> - + Пример работы функции <function>microtime</function> с флагом <literal>REQUEST_TIME_FLOAT</literal> + +echo "Скрипт ничего не делал $time секунд\n"; ]]> diff --git a/reference/datetime/functions/mktime.xml b/reference/datetime/functions/mktime.xml index f632c963a7..916a077002 100644 --- a/reference/datetime/functions/mktime.xml +++ b/reference/datetime/functions/mktime.xml @@ -1,10 +1,10 @@ - + mktime - Получает Unix-метку времени для даты + Получает метку Unix-времени для даты @@ -19,7 +19,7 @@ intnullyear&null; - Функция возвращает временну́ю метку Unix, которая соответствует заданным + Функция возвращает метку времени Unix, которая соответствует заданным аргументам. Метка времени — целое число, которое содержит количество секунд между началом эпохи Unix, которая началась 1 января 1970 00:00:00 GMT, и датой и временем. @@ -127,8 +127,8 @@ &reftitle.returnvalues; - Функция mktime возвращает временну́ю метку Unix по заданным аргументам - или &false;, если метка времени не вписывается в целое число PHP. + Функция mktime возвращает метку времени Unix по заданным аргументам + или &false;, если метка времени выходит за пределы диапазона целых чисел PHP. @@ -147,15 +147,15 @@ 8.0.0 - Параметр hour теперь обязателен. - Чтобы получить временну́ю метку Unix, вызывают функцию time. + Параметр hour стал обязательным. + Функция time возвращает метку времени Unix без аргументов. 8.0.0 Параметры minute, second, month, - day и year теперь принимают значение null. + day и year теперь принимают значение &null;. @@ -177,61 +177,115 @@ date_default_timezone_set('UTC'); // Выводит: July 1, 2000 is on a Saturday -echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)); +echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)) . "\n"; // Выводит что-то вроде: 2006-04-05T01:02:03+00:00 -echo date('c', mktime(1, 2, 3, 4, 5, 2006)); - -?> +echo date('c', mktime(1, 2, 3, 4, 5, 2006)) . "\n"; ]]> + &example.outputs.similar; + + + - Пример использования функции <function>mktime</function> + Пример получения метки времени функцией <function>mktime</function> Функция mktime полезна для выполнения арифметических операций и проверки дат, поскольку функция автоматически вычисляет правильные значения для входных аргументов, которые выходят за пределы - допустимого диапазона. В следующем примере каждая строка кода создаёт строку «Jan-01-1998». + допустимого диапазона. В следующем примере каждая строка кода создаёт строку "Jan-01-1998". +echo date("c", mktime(0, 0, 0, 12, 32, 1997)) . "\n"; +echo date("c", mktime(0, 0, 0, 13, 1, 1997)) . "\n"; +echo date("c", mktime(0, 0, 0, 1, 1, 1998)) . "\n"; +echo date("c", mktime(0, 0, 0, 1, 1, 98)) . "\n"; ]]> + &example.outputs.similar; + + + - Последний день месяца + Пример получения метки времени для относительных дат функцией mktime + + + + &example.outputs.similar; + + + + + + + Добавление относительных интервалов времени часто надёжнее добавления или вычитания + секунд в дне или месяце, поскольку учитывают переходы на летнее время. + + + + + + Пример получения последнего дня месяца Последний день любого месяца получится выразить «нулевым» днём следующего месяца, но не -1 днём. Оба следующих примера - создадут строку «Последний день февраля 2000 г.: 29». + создадут строку "Последний день февраля 2000 г.: 29". +echo 'Последний день февраля в 2000 году: ', date('d', $lastday) . "\n"; ]]> + &example.outputs; + + + diff --git a/reference/datetime/functions/strftime.xml b/reference/datetime/functions/strftime.xml index bf2c8a8e73..d3c02e25f4 100644 --- a/reference/datetime/functions/strftime.xml +++ b/reference/datetime/functions/strftime.xml @@ -1,5 +1,5 @@ - + @@ -24,8 +24,8 @@ intnulltimestamp&null; - Функция форматирует дату и время с учётом локали. Названия месяцев и дней недели, - а также другие строки, которые зависят от языка, будут соответствовать текущим языковым настройкам, + Функция форматирует дату и время с учётом локали. Названия месяцев, дней недели + и других строк, которые зависят от языка, возвращаются с учётом текущих региональных настроек, которые установили функцией setlocale. @@ -231,7 +231,7 @@ %p Обозначение первой или второй половины дня в верхнем регистре на основе времени, - «AM» — до полудня или «PM» после полудня. + "AM" — до полудня или "PM" после полудня. Пример: AM для 00:31, PM для 22:23. @@ -244,7 +244,7 @@ %P Обозначение первой или второй половины дня в нижнем регистре на основе времени, - «am» — до полудня или «pm» после полудня. + "am" — до полудня или "pm" после полудня. Пример: am для 00:31, pm для 22:23. @@ -330,17 +330,17 @@ %n - Символ перевода строки («\n») + Символ перевода строки "\n" --- %t - Символ табуляции («\t») + Символ табуляции "\t" --- %% - Символ процента («%») + Символ процента "%" --- @@ -441,9 +441,9 @@ которые соответствуют модификаторам. - Пример использования функции <function>strftime</function> с разными языковыми настройками + Пример форматирования даты функцией <function>strftime</function> с разными языковыми настройками - + ]]> @@ -513,8 +511,6 @@ echo "Дата 1/2/2005 в формате %V, %G, %Y = " . strftime("%V, %G, %Y" // Вывод: Дата 1/3/2005 в формате %V, %G, %Y = 1,2005,2005 echo "Дата 1/3/2005 в формате %V, %G, %Y = " . strftime("%V, %G, %Y",strtotime("1/3/2005")) . "\n"; - -?> ]]> @@ -535,8 +531,6 @@ if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { } echo strftime($format); - -?> ]]> @@ -565,7 +559,7 @@ $strftimeFormats = array( 'M' => 'Двузначное представление минуты', 'N' => '', 'O' => '', - 'P' => 'Обозначение «am» или «pm» в нижнем регистре на основе времени', + 'P' => 'Обозначение "am" или "pm" в нижнем регистре на основе времени', 'Q' => '', 'R' => 'То же, что и "%H:%M"', 'S' => 'Двузначное представление секунды', @@ -589,20 +583,20 @@ $strftimeFormats = array( 'k' => 'Двузначное представление часа в 24-часовом формате с пробелом перед одиночной цифрой', 'l' => 'Час в 12-часовом формате с пробелом перед одиночной цифрой', 'm' => 'Числовое представление месяца с ведущим нулём перед одиночными цифрами', - 'n' => 'Символ новой строки («\n»)', + 'n' => 'Символ новой строки "\n"', 'o' => '', 'p' => 'Обозначение "AM" или "PM" в верхнем регистре на основе времени', 'q' => '', 'r' => 'То же, что и "%I:%M:%S %p"', 's' => 'Метка времени эпохи Unix', - 't' => 'Символ табуляции («\t»)', + 't' => 'Символ табуляции "\t"', 'u' => 'Числовое представление дня недели по правилам стандарта ISO-8601', 'v' => '', 'w' => 'Числовое представление дня недели', 'x' => 'Предпочтительное представление даты на основе локали, без времени', 'y' => 'Двузначное представление года', 'z' => 'Смещение или аббревиатура часового пояса относительно стандарта UTC (зависит от операционной системы)', - '%' => 'Символ процента («%»)', + '%' => 'Символ процента "%"', ); // Результаты @@ -627,8 +621,6 @@ foreach ($strftimeValues as $format => $value) { foreach (array_diff_key($strftimeFormats, $strftimeValues) as $format => $description) { echo "Неизвестный формат : '{$format}' ", str_pad(' ', $maxValueLength), ($description ? " ( {$description} )" : ''), "\n"; } - -?> ]]> &example.outputs.similar; @@ -651,7 +643,7 @@ foreach (array_diff_key($strftimeFormats, $strftimeValues) as $format => $descri Известный формат : 'd' = '03' ( Двузначный номер дня месяца (с ведущим нулём) ) Известный формат : 'j' = '337' ( Номер дня в году, 3 цифры с ведущими нулями ) Известный формат : 'm' = '12' ( Числовое представление месяца с ведущим нулём перед одиночными цифрами ) -Известный формат : 'p' = 'AM' ( Обозначение «AM» или «PM» в верхнем регистре на основе времени ) +Известный формат : 'p' = 'AM' ( Обозначение "AM" или "PM" в верхнем регистре на основе времени ) Известный формат : 'w' = '5' ( Числовое представление дня недели ) Известный формат : 'x' = '12/03/10' ( Предпочтительное представление даты на основе локали, без времени ) Известный формат : 'y' = '10' ( Двузначное представление года ) @@ -667,7 +659,7 @@ foreach (array_diff_key($strftimeFormats, $strftimeValues) as $format => $descri Неизвестный формат : 'L' Неизвестный формат : 'N' Неизвестный формат : 'O' -Неизвестный формат : 'P' ( Обозначение «am» или «pm» в нижнем регистре на основе времени ) +Неизвестный формат : 'P' ( Обозначение "am" или "pm" в нижнем регистре на основе времени ) Неизвестный формат : 'Q' Неизвестный формат : 'R' ( То же, что и "%H:%M" ) Неизвестный формат : 'T' ( То же, что и "%H:%M:%S" ) @@ -679,12 +671,12 @@ foreach (array_diff_key($strftimeFormats, $strftimeValues) as $format => $descri Неизвестный формат : 'i' Неизвестный формат : 'k' ( Двузначное представление часа в 24-часовом формате с пробелом перед одиночной цифрой ) Неизвестный формат : 'l' ( Час в 12-часовом формате с пробелом перед одиночной цифрой ) -Неизвестный формат : 'n' ( Символ новой строки («\n») ) +Неизвестный формат : 'n' ( Символ новой строки "\n" ) Неизвестный формат : 'o' Неизвестный формат : 'q' Неизвестный формат : 'r' ( То же, что и "%I:%M:%S %p" ) Неизвестный формат : 's' ( Временная метка эпохи Unix ) -Неизвестный формат : 't' ( Символ табуляции («\t») ) +Неизвестный формат : 't' ( Символ табуляции "\t" ) Неизвестный формат : 'u' ( Числовое представление дня недели по правилам стандарта ISO-8601 ) Неизвестный формат : 'v' ]]> diff --git a/reference/datetime/functions/strptime.xml b/reference/datetime/functions/strptime.xml index 179457930d..354eac91b3 100644 --- a/reference/datetime/functions/strptime.xml +++ b/reference/datetime/functions/strptime.xml @@ -1,5 +1,5 @@ - + @@ -179,8 +179,6 @@ $strf = strftime($format); echo "$strf\n"; print_r(strptime($strf, $format)); - -?> ]]> &example.outputs.similar; @@ -201,43 +199,43 @@ Array [unparsed] => ) ]]> - - - - + + + + - - &reftitle.notes; - ¬e.no-windows; - - - Внутренне эта функция вызывает функцию strptime() - системной библиотеки на языке C. Поведение функции в одной операционной системе - иногда значительно отличается от поведения в другой. Функция date_parse_from_format - лишена этого недостатка, поэтому рекомендуют вызывать её. - - - - - Элемент "tm_sec" включает високосные секунды — до двух в год. - Подробнее о високосных секунды рассказывает статья - о високосной секунде на сайте Википедии. - - - + + &reftitle.notes; + ¬e.no-windows; + + + Внутренне эта функция вызывает функцию strptime() + системной библиотеки на языке C. Поведение функции в одной операционной системе + иногда значительно отличается от поведения в другой. Функция date_parse_from_format + лишена этого недостатка, поэтому рекомендуют вызывать её. + + + + + Элемент "tm_sec" включает високосные секунды — до двух в год. + Подробнее о високосных секунды рассказывает статья + о високосной секунде на сайте Википедии. + + + - - &reftitle.seealso; - - - IntlDateFormatter::parse - DateTime::createFromFormat - checkdate - strftime - date_parse_from_format - - - + + &reftitle.seealso; + + + IntlDateFormatter::parse + DateTime::createFromFormat + checkdate + strftime + date_parse_from_format + + + + @@ -64,7 +64,7 @@ &reftitle.returnvalues; - Возвращает метку времени в случае успешного выполнения, иначе &false;. + Функция возвращает метку времени, если выполнилась успешно, иначе значение &false;. @@ -90,7 +90,7 @@ 8.0.0 - Теперь параметр baseTimestamp может принимать значение null. + Параметр baseTimestamp теперь принимает значение &null;. @@ -103,7 +103,7 @@ &reftitle.examples; - Пример использования функции <function>strtotime</function> + Пример разбора англоязычного текстового описания даты и времени функцией <function>strtotime</function> @@ -134,7 +133,6 @@ if (($timestamp = strtotime($str)) === false) { } else { echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp); } - ]]> @@ -145,40 +143,39 @@ if (($timestamp = strtotime($str)) === false) { &reftitle.notes; - «Относительная» дата в данном случае также означает, - что если конкретный компонент метки даты/времени не указан, - он будет взят дословно из параметра baseTimestamp. - То есть, вызов strtotime('February'), если его запустить 31 мая 2022 года, - будет интерпретирован как 31 февраля 2022, - что перенесётся в метку времени 3 марта - (в високосный год будет 2 марта). + «Относительная» дата в этом случае также означает, + что если конкретный компонент метки даты и времени не указали, + функция возьмёт его дословно из параметра baseTimestamp. + Поэтому вызов strtotime('February') при запуске 31 мая 2022 года + функция интерпретирует как 31 февраля 2022, + что перенесётся в метку времени 3 марта, + а в високосный год — 2 марта. Вызов strtotime('1 February') или strtotime('first day of February') не допустит этой проблемы. - Если количество лет указано двумя цифрами, то значения 00-69 будут считаться 2000-2069, + При двузначном указании количества лет значения 00-69 функция интерпретирует как 2000-2069, а 70-99 — 1970-1999. Замечания ниже рассказывают о возможных различиях на 32-битных системах (допустимые даты заканчиваются 2038-01-19 03:14:07). - Корректный диапазон меток времени — это обычно даты с 13 декабря - 1901 20:45:54 UTC по 19 января 2038 03:14:07 UTC. (Эти даты - соответствуют крайним значениям 32-битного целого числа со знаком.) + Корректный диапазон меток времени 32-битного целого числа со знаком — даты с 13 декабря + 1901 20:45:54 по времени UTC по 19 января 2038 03:14:07 по времени UTC. В 64-битных версиях PHP корректный диапазон меток времени практически бесконечен, - так как 64 битов хватит для представления около 293 миллиардов лет в обоих + поскольку 64 бита справляются с представлением около 293 миллиардов лет в обоих направлениях. - Использовать эту функцию для математических операций не рекомендовано. - Лучше пользоваться методами DateTime::add + Использовать функцию для математических операций не рекомендуется. + Лучше вызывать методы DateTime::add и DateTime::sub. diff --git a/reference/datetime/functions/time.xml b/reference/datetime/functions/time.xml index 9aa34ce8f1..89a383be62 100644 --- a/reference/datetime/functions/time.xml +++ b/reference/datetime/functions/time.xml @@ -1,5 +1,5 @@ - + @@ -15,7 +15,7 @@ Функция возвращает текущее время системы в виде метки Unix-времени, которое измеряется - в секундах с начала эпохи Unix — 1 января 1970 00:00:00 GMT. + в секундах с начала эпохи Unix — 00:00:00 1 января 1970 по времени UTC. @@ -43,14 +43,12 @@ &reftitle.examples; - Пример использования функции <function>time</function> + Пример получения метки времени функцией <function>time</function> ]]> &example.outputs.similar; diff --git a/reference/datetime/functions/timezone-name-from-abbr.xml b/reference/datetime/functions/timezone-name-from-abbr.xml index a58c1210f2..80cc5e961a 100644 --- a/reference/datetime/functions/timezone-name-from-abbr.xml +++ b/reference/datetime/functions/timezone-name-from-abbr.xml @@ -1,5 +1,5 @@ - + @@ -32,11 +32,11 @@ utcOffset - Смещение относительно GMT в секундах. По умолчанию -1, что означает - возврат первого найденного часового пояса, отвечающего аббревиатуре - abbr. В противном случае будет произведён поиск - часового пояса с заданным смещением. Если поиск завершится неудачей, - будет возвращён ближайший к смещению часовой пояс. + Смещение относительно времени UTC в секундах. Значение по умолчанию равно -1, + что означает возврат первого найденного часового пояса, который соответствует аббревиатуре + abbr. В остальных случаях функция выполнит поиск + часового пояса с заданным смещением. Функция вернёт ближайший к смещению часовой пояс, + если поиск завершится неудачей. @@ -44,13 +44,13 @@ isDST - Поправка на летнее время. По умолчанию -1, в этом случае поправка - на летнее время не учитывается. Если передана 1, смещение + Поправка на летнее время. Значение по умолчанию равно -1, при котором поправка + на летнее время не учитывается. При передаче значения 1 смещение utcOffset учитывает действующее летнее время. - Если задан 0, utcOffset рассчитывается с учётом - зимнего времени. Если abbr не существует, - определение часового пояса опирается только на - utcOffset и isDST. + При передаче значения 0 смещение utcOffset рассчитывается с учётом + зимнего времени. Определение часового пояса опирается только + на смещение utcOffset и сезонный переход isDST, + если список аббревиатур не содержит сокращение abbr. @@ -69,13 +69,13 @@ &reftitle.examples; - Пример использования <function>timezone_name_from_abbr</function> + Пример получения названия часового пояса функцией <function>timezone_name_from_abbr</function> ]]> &example.outputs.similar; diff --git a/reference/datetime/functions/timezone-version-get.xml b/reference/datetime/functions/timezone-version-get.xml index c8d2c9c444..39b899441a 100644 --- a/reference/datetime/functions/timezone-version-get.xml +++ b/reference/datetime/functions/timezone-version-get.xml @@ -1,11 +1,11 @@ - + timezone_version_get - Получение номера версии базы данных часовых поясов + Получает номер версии базы данных часовых поясов @@ -15,7 +15,7 @@ - Возвращает номер версии базы данных часовых поясов. + Функция возвращает номер версии базы данных часовых поясов. @@ -27,21 +27,20 @@ &reftitle.returnvalues; - Возвращает строку (string) в формате - YYYY.increment, например, 2022.2. + Функция возвращает значение string в формате + YYYY.increment, например 2022.2. - Если у вас старая версия базы данных часовых поясов (например, - она показывает не текущий год), то вы можете обновить информацию о часовых поясах, - либо обновив версию PHP, либо установив пакет PECL - timezonedb. + При устаревании базы данных часовых поясов, которая, например, перестаёт показывать текущий год, + информацию о часовых поясах актуализируют либо путём обновления версии PHP, + либо устанавливают PECL-пакет the timezonedb - Некоторые дистрибутивы Linux исправляют поддержку даты/времени в PHP, - чтобы использовать альтернативный источник информации о часовых поясах. - В такой ситуации функция будет возвращать 0.system. - В этом случае рекомендуется установить пакет PECL - timezonedb. + Отдельные дистрибутивы Linux исправляют поддержку даты и времени в PHP, + чтобы получать информацию о часовых поясах из альтернативного источника, + тогда функция возвращает 0.system. + Установка PECL-пакета + timezonedb исправляет проблему. @@ -49,12 +48,12 @@ &reftitle.examples; - Определение версии базы данных часовых поясов + Пример определения версии базы данных часовых поясов ]]> &example.outputs.similar;