Класс DateTimeType
Конвертер типа DateTime.
Используется для преобразования экземпляров DateTime в строки и обратно.
Краткое описание свойств
- $_className protected
stringИмя класса, используемого при создании объектов.
- $_format protected
stringФормат DateTime, используемый при преобразовании в строку.
- $_localeMarshalFormat protected
string|array|intФормат с учетом региональных настроек, который
marshal()использует, когда_useLocaleParserимеет значение true. - $_marshalFormats protected
arrayФорматы DateTime, разрешенные
marshal(). - $_name protected
string|nullИдентификатор имени для этого типа.
- $_useLocaleMarshal protected
boolНеобходимо ли использовать парсер с учетом региональных настроек
marshal()с форматом_localeMarshalFormat. - $dbTimezone protected
DateTimeZone|nullВременная зона базы данных.
- $defaultTimezone protected
DateTimeZoneВременная зона по умолчанию.
- $keepDatabaseTimezone protected
boolСохранять ли временную зону базы данных при преобразовании
- $setToDateStart protected
boolНужно ли переопределять время преобразованных объектов Time, чтобы они указывали на начало дня.
Краткое описание методов
-
__construct() public
Конструктор
-
_parseLocaleValue() protected
Преобразует строку в объект DateTime после её разбора с использованием парсера с учётом региональных настроек с форматом, заданным
setLocaleFormat(). -
_parseValue() protected
Преобразует строку в объект DateTime после её разбора с использованием форматов в
_marshalFormats. -
_setClassName() protected
Установить имя класса для создания объектов.
-
getBaseType() public
Возвращает базовое имя типа, от которого наследуется этот класс.
-
getDateTimeClassName() public
Получить имя класса, используемого для создания объектов.
-
getName() public
Возвращает имя идентификатора типа для этого объекта.
-
manyToPHP() public
Возвращает массив значений, преобразованных в представление PHP этого типа.
-
marshal() public
Преобразовать данные запроса в объект datetime.
-
newId() public
Сгенерировать новое значение первичного ключа для заданного типа.
-
setDatabaseTimezone() public
Установить временную зону базы данных.
-
setKeepDatabaseTimezone() public
Установить, сохранять ли временную зону объекта DateTime, созданного из строковой базы данных, в временной зоне по умолчанию.
-
setLocaleFormat() public
Устанавливает формат с учетом региональных настроек, используемый
marshal()при разборе строк. -
setTimezone() public deprecated
Псевдоним для
setDatabaseTimezone(). -
toDatabase() public
Преобразовать экземпляр DateTime в строки.
-
toPHP() public
Преобразует данное значение из типа базы данных в эквивалент PHP.
-
toStatement() public
Преобразует данное значение в эквивалент Statement.
-
useImmutable() public
Изменить предпочтительное имя класса на реализацию FrozenTime.
-
useLocaleParser() public
Устанавливает, использовать ли парсер с учетом региональных настроек для строк, переданных
marshal(), используя формат с учетом региональных настроек, установленныйsetLocaleFormat(). -
useMutable() public
Изменить предпочтительное имя класса на реализацию изменяемого Time.
Подробное описание методов
__construct() public
__construct(string|null $name = null)
Конструктор
Параметры
-
string|null$name optional Имя, идентифицирующее этот тип
_parseLocaleValue() protected
_parseLocaleValue(string $value): Cake\I18n\I18nDateTimeInterface|null
Преобразует строку в объект DateTime после её анализа с помощью анализатора, учитывающего настройки локали, с форматом, установленным setLocaleFormat().
Параметры
-
string$value Значение для анализа и преобразования в объект.
Возвращает
Cake\I18n\I18nDateTimeInterface|null_parseValue() protected
_parseValue(string $value): DateTimeInterface|null
Преобразует строку в объект DateTime после её анализа с помощью форматов в _marshalFormats.
Параметры
-
string$value Значение для анализа и преобразования в объект.
Возвращает
DateTimeInterface|null_setClassName() protected
_setClassName(string $class, string $fallback): void
Устанавливает имя класса, используемое при создании объектов.
Параметры
-
string$class Имя класса для использования.
-
string$fallback Имя класса для использования, если предпочтительный класс не существует.
Возвращает
voidgetBaseType() public
getBaseType(): string|null
Возвращает имя базового типа, который наследует этот класс.
Это полезно при расширении базового типа для добавления дополнительной функциональности, но при этом требуется, чтобы остальная часть фреймворка использовала те же предположения, что и для базового типа, от которого он наследуется.
Возвращает
string|nullgetDateTimeClassName() public
getDateTimeClassName(): string
Получает имя класса, используемое для создания объектов.
Возвращает
stringgetName() public
getName(): string|null
Возвращает имя идентификатора типа для этого объекта.
Возвращает
string|nullmanyToPHP() public
manyToPHP(array $values, string[] $fields, Cake\Database\DriverInterface $driver): array
Возвращает массив значений, преобразованных в PHP-представление этого типа.
Параметры
-
array$values -
string[]$fields -
Cake\Database\DriverInterface$driver
Возвращает
arraymarshal() public
marshal(mixed $value): DateTimeInterface|null
Преобразует данные запроса в объект datetime.
Наиболее полезно для преобразования данных запроса в объекты PHP, которые имеют смысл для остальных слоёв ORM/базы данных.
Параметры
-
mixed$value Данные запроса
Возвращает
DateTimeInterface|nullnewId() public
newId(): mixed
Генерирует новое значение первичного ключа для данного типа.
Этот метод может использоваться типами для создания новых значений первичного ключа при вставке сущностей.
Возвращает
mixedsetDatabaseTimezone() public
setDatabaseTimezone(stringDateTimeZone|null $timezone): $this
Устанавливает часовой пояс базы данных.
Это часовой пояс, используемый при преобразовании строк базы данных в экземпляры DateTime и при преобразовании экземпляров DateTime в строки базы данных.
Параметры
-
stringDateTimeZone|null$timezone Часовой пояс базы данных.
Возвращает
$thisСм. также
setKeepDatabaseTimezone() public
setKeepDatabaseTimezone(bool $keep): $this
Устанавливает, преобразуется ли объект DateTime, созданный из строки базы данных, в часовой пояс по умолчанию.
Если ваши даты и время в базе данных находятся в определённом часовом поясе, который вы хотите сохранить в экземпляре DateTime, то установите это значение в true.
Если false, часовые пояса datetime преобразуются в часовой пояс по умолчанию. Это поведение по умолчанию.
Параметры
-
bool$keep Если true, часовой пояс базы данных сохраняется при преобразовании в экземпляры DateTime.
Возвращает
$thissetLocaleFormat() public
setLocaleFormat(string|array $format): $this
Устанавливает формат, учитывающий настройки локали, используемый marshal() при анализе строк.
См. Cake\I18n\Time::parseDateTime() для допустимых форматов.
Параметры
-
string|array$format Формат, учитывающий настройки локали
Возвращает
$thisСм. также
setTimezone() public
setTimezone(stringDateTimeZone|null $timezone): $this
Псевдоним для setDatabaseTimezone().
Параметры
-
stringDateTimeZone|null$timezone Часовой пояс базы данных.
Возвращает
$thistoDatabase() public
toDatabase(mixed $value, Cake\Database\DriverInterface $driver): string|null
Преобразует экземпляр DateTime в строки.
Параметры
-
mixed$value Значение для преобразования.
-
Cake\Database\DriverInterface$driver Экземпляр драйвера для преобразования.
Возвращает
string|nulltoPHP() public
toPHP(mixed $value, Cake\Database\DriverInterface $driver): DateTimeInterface|null
Преобразует заданное значение из типа базы данных в эквивалент PHP.
Параметры
-
mixed$value Значение, которое нужно преобразовать в эквивалент PHP
-
Cake\Database\DriverInterface$driver Объект, из которого будут извлечены настройки и конфигурация базы данных
Возвращает
DateTimeInterface|nulltoStatement() public
toStatement(mixed $value, Cake\Database\DriverInterface $driver): mixed
Преобразует заданное значение в эквивалент Statement
Параметры
-
mixed$value значение, которое нужно преобразовать в инструкцию PDO
-
Cake\Database\DriverInterface$driver объект, из которого будут извлечены настройки и конфигурация базы данных
Возвращает
mixeduseImmutable() public
useImmutable(): $this
Изменяет предпочтительное имя класса на реализацию FrozenTime.
Возвращает
$thisuseLocaleParser() public
useLocaleParser(bool $enable = true): $this
Устанавливает, следует ли анализировать строки, переданные в marshal(), используя формат, учитывающий настройки локали, установленный setLocaleFormat().
Параметры
-
bool$enable optional Включать или нет
Возвращает
$thisuseMutable() public
useMutable(): $this
Изменяет предпочтительное имя класса на изменяемую реализацию Time.
Возвращает
$thisПодробное описание свойств
$_className protected
Имя класса, используемого при создании объектов.
Тип
string$_format protected
Формат DateTime, используемый при преобразовании в строку.
Тип
string$_localeMarshalFormat protected
Локализованный формат marshal(), используемый, когда _useLocaleParser равно true.
См. Cake\I18n\Time::parseDateTime() для допустимых форматов.
Тип
string|array|int$_marshalFormats protected
Форматы DateTime, разрешенные marshal().
Тип
array$_name protected
Имя идентификатора для данного типа.
Тип
string|null$_useLocaleMarshal protected
Определяет, должен ли marshal() использовать локализованный парсер с _localeMarshalFormat.
Тип
bool$dbTimezone protected
Временная зона базы данных.
Тип
DateTimeZone|null$defaultTimezone protected
Временная зона по умолчанию.
Тип
DateTimeZone$keepDatabaseTimezone protected
Сохранять ли временную зону базы данных при преобразовании
Тип
bool$setToDateStart protected
Определяет, следует ли переопределять время преобразованных объектов Time так, чтобы оно указывало на начало дня.
Это в первую очередь для того, чтобы подклассы не нуждались в повторной реализации этой функциональности.
Тип
bool
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Database.Type.DateTimeType.html