Класс DateTimeType
Конвертер типа DateTime.
Используется для преобразования экземпляров DateTime в строки и обратно.
Краткое описание свойств
- $_className protected
stringИмя класса, используемого при создании объектов.
- $_format protected
stringФормат DateTime, используемый при преобразовании в строку.
- $_localeMarshalFormat protected
array|string|intЛокализованный формат
marshal(), используемый, когда_useLocaleParserравно true. - $_marshalFormats protected
array<string>Форматы DateTime, разрешенные
marshal(). - $_name protected
string|nullИмя идентификатора для этого типа.
- $_useLocaleMarshal protected
boolУказывает, нужно ли использовать локально-зависимый парсер с
_localeMarshalFormat. - $dbTimezone protected
DateTimeZone|nullВременная зона базы данных.
- $defaultTimezone protected
DateTimeZoneВременная зона по умолчанию.
- $keepDatabaseTimezone protected
boolУказывает, сохраняется ли временная зона базы данных при преобразовании.
- $setToDateStart protected
boolУказывает, нужно ли переопределять время преобразованных объектов Time, чтобы оно соответствовало началу дня.
- $userTimezone protected
DateTimeZone|nullВременная зона пользователя.
Краткое описание методов
-
__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(). -
setUserTimezone() public
Устанавливает временную зону пользователя.
-
toDatabase() public
Преобразует экземпляр DateTime в строки.
-
toPHP() public
Преобразует данное значение из типа базы данных в эквивалент PHP.
-
toStatement() public
Преобразует данное значение в эквивалент Statement.
-
useImmutable() public deprecated
Изменить предпочтительное имя класса на FrozenTime.
-
useLocaleParser() public
Устанавливает, следует ли использовать локально-зависимый формат, заданный
setLocaleFormat(), для разбора строк, передаваемых вmarshal(). -
useMutable() public deprecated
Изменить предпочтительное имя класса на мутабельный 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, array<string> $fields, Cake\Database\DriverInterface $driver): array
Возвращает массив значений, преобразованных в PHP-представление этого типа.
Параметры
-
array$values -
array<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(DateTimeZone|string|null $timezone): $this
Установить часовой пояс базы данных.
Это часовой пояс, используемый при преобразовании строк базы данных в экземпляры DateTime и преобразовании экземпляров DateTime в строки базы данных.
Параметры
-
DateTimeZone|string|null$timezone Часовой пояс базы данных.
Возвращает
$thisСм. также
setKeepDatabaseTimezone() public
setKeepDatabaseTimezone(bool $keep): $this
Установить, преобразуется ли объект DateTime, созданный из строки базы данных, в часовой пояс по умолчанию.
Если ваши даты и время в базе данных находятся в определённом часовом поясе, который вы хотите сохранить в экземпляре DateTime, то установите это значение в true.
Если false, часовые пояса datetime преобразуются в часовой пояс по умолчанию. Это поведение по умолчанию.
Параметры
-
bool$keep Если true, часовой пояс базы данных сохраняется при преобразовании в экземпляры DateTime.
Возвращает
$thissetLocaleFormat() public
setLocaleFormat(array|string $format): $this
Устанавливает формат, учитывающий параметры локализации, используемый marshal() при анализе строк.
См. Cake\I18n\Time::parseDateTime() для допустимых форматов.
Параметры
-
array|string$format Формат, учитывающий параметры локализации
Возвращает
$thisСм. также
setTimezone() public
setTimezone(DateTimeZone|string|null $timezone): $this
Псевдоним для setDatabaseTimezone().
Параметры
-
DateTimeZone|string|null$timezone Часовой пояс базы данных.
Возвращает
$thissetUserTimezone() public
setUserTimezone(DateTimeZone|string|null $timezone): $this
Установить часовой пояс пользователя.
Это часовой пояс, используемый при преобразовании строк в экземпляры DateTime.
Параметры
-
DateTimeZone|string|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(), чтобы ознакомиться с допустимыми форматами.
Тип
array|string|int$_marshalFormats protected
Допустимые форматы DateTime, разрешенные marshal().
Тип
array<string>$_name protected
Идентификатор имени для этого типа.
Тип
string|null$_useLocaleMarshal protected
Использовать ли marshal() парсер, учитывающий локаль, с _localeMarshalFormat.
Тип
bool$dbTimezone protected
Временная зона базы данных.
Тип
DateTimeZone|null$defaultTimezone protected
Временная зона по умолчанию.
Тип
DateTimeZone$keepDatabaseTimezone protected
Сохранять ли временную зону базы данных при преобразовании.
Тип
bool$setToDateStart protected
Нужно ли переопределить время преобразованных объектов Time, чтобы они указывали на начало дня.
Это в основном для того, чтобы подклассы не нуждались в повторной реализации той же функциональности.
Тип
bool$userTimezone protected
Временная зона пользователя.
Тип
DateTimeZone|null
© 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.3/class-Cake.Database.Type.DateTimeType.html