Datetime type converter.
Use to convert datetime instances to strings & back.
$_className
protected string
$_datetimeInstance
protected DateTime
An instance of the configured dateTimeClass, used to quickly generate new instances without calling the constructor.
$_format
protected string|array
$_localeFormat
protected string|array|integer
$_name
protected string|null
$_useLocaleParser
protected boolean
Whether dates should be parsed using a locale aware parser when marshalling string inputs.
string
$dbTimezone
protected DateTimeZone|null
$setToDateStart
protected boolean
Whether or not we want to override the time of the converted Time objects so it points to the start of the day.
Converts a string into a DateTime object after parsing it using the locale aware parser with the specified format.
Returns an array of the values converted to the PHP representation of this type.
Sets the format string to use for parsing dates in this class. The formats that are accepted are documented in the Cake\I18n\Time::parseDateTime()
function.
Sets whether or not to parse dates passed to the marshal() function by using a locale aware parser.
__construct( string|null $name null )
Constructor
$name
optional null Cake\Database\Type::__construct()
_compare( Cake\I18n\Time|DateTime $date , mixed $value )
Cake\I18n\Time
|DateTime $date
$value
_parseValue( string $value )
Converts a string into a DateTime object after parsing it using the locale aware parser with the specified format.
$value
Cake\I18n\Time
|null_setClassName( string $class , string $fallback )
Set the classname to use when building objects.
$class
$fallback
getDateTimeClassName( )
Get the classname used for building objects.
manyToPHP( array $values , array $fields , Cake\Database\Driver $driver )
Returns an array of the values converted to the PHP representation of this type.
$values
$fields
Cake\Database\Driver
$driver
Cake\Database\Type\BatchCastingInterface::manyToPHP()
marshal( mixed $value )
Convert request data into a datetime object.
$value
Cake\Database\Type::marshal()
Cake\Database\TypeInterface::marshal()
setLocaleFormat( string|array $format )
Sets the format string to use for parsing dates in this class. The formats that are accepted are documented in the Cake\I18n\Time::parseDateTime()
function.
$format
setTimezone( string|DateTimeZone|null $timezone )
Set database timezone.
Specified timezone will be set for DateTime objects before generating datetime string for saving to database. If null
no timezone conversion will be done.
$timezone
toDatabase( string|integer|DateTime|DateTimeImmutable $value , Cake\Database\Driver $driver )
Convert DateTime instance into strings.
$value
Cake\Database\Driver
$driver
Cake\Database\Type::toDatabase()
Cake\Database\TypeInterface::toDatabase()
toPHP( string $value , Cake\Database\Driver $driver )
Convert strings into DateTime instances.
$value
Cake\Database\Driver
$driver
Cake\I18n\Time
|DateTime|nullCake\Database\Type::toPHP()
Cake\Database\TypeInterface::toPHP()
toStatement( mixed $value , Cake\Database\Driver $driver )
Casts given value to Statement equivalent
$value
Cake\Database\Driver
$driver
Cake\Database\Type::toStatement()
Cake\Database\TypeInterface::toStatement()
useImmutable( )
Change the preferred class name to the FrozenTime implementation.
useLocaleParser( boolean $enable true )
Sets whether or not to parse dates passed to the marshal() function by using a locale aware parser.
$enable
optional true useMutable( )
Change the preferred class name to the mutable Time implementation.
__debugInfo( )
Returns an array that can be used to describe the internal state of this object.
_basicTypeCast( mixed $value )
Checks whether this type is a basic one and can be converted using a callback If it is, returns converted value
$value
boolval( mixed $value )
Type converter for boolean values.
Will convert string true/false into booleans.
$value
build( string $name )
Returns a Type object capable of converting a type identified by name.
$name
Cake\Database\Type
buildAll( )
Returns an arrays with all the mapped type objects, indexed by name.
clear( )
Clears out all created instances and mapped types classes, useful for testing
getBaseType( )
Returns the base type name that this class is inheriting.
Cake\Database\TypeInterface::getBaseType()
getMap( string|null $type null )
Get mapped class name or instance for type(s).
$type
optional null Cake\Database\TypeInterface
|nullgetName( )
Returns type identifier name for this object.
Cake\Database\TypeInterface::getName()
map( string|string[]|Cake\Database\Type[]|null $type null , string|Cake\Database\Type|null $className null )
Registers a new type identifier and maps it to a fully namespaced classname, If called with no arguments it will return current types map array If $className is omitted it will return mapped class for $type
Deprecated 3.6.2: - The usage of $type as string[]|\Cake\Database\Type[] is deprecated. Use Type::setMap() with string[] instead. - Passing $className as \Cake\Database\Type instance is deprecated, use class name string only. - Using this method as getter is deprecated. Use Type::getMap() instead.
Cake\Database\Type[]
|null $type
optional null Cake\Database\Type
|null $className
optional null If $type is null then array with current map, if $className is null string configured class name for give $type, null otherwise
newId( )
Generate a new primary key value for a given type.
Cake\Database\TypeInterface::newId()
set( string $name , Cake\Database\Type $instance )
Returns a Type object capable of converting a type identified by $name
$name
Cake\Database\Type
$instance
setMap( array $map )
Set type to classname mapping.
$map
strval( mixed $value )
Type converter for string values.
Will convert values into strings
$value
protected DateTime
An instance of the configured dateTimeClass, used to quickly generate new instances without calling the constructor.
protected string|array
String format to use for DateTime parsing
[ 'Y-m-d H:i:s', 'Y-m-d\TH:i:sP', ]
protected string|array|integer
The date format to use for parsing incoming dates for marshalling.
protected string|null
Identifier name for this type.
(This property is declared here again so that the inheritance from Cake\Database\Type can be removed in the future.)
protected boolean
Whether dates should be parsed using a locale aware parser when marshalling string inputs.
false
public static string
The class to use for representing date objects
This property can only be used before an instance of this type class is constructed. After that use useMutable()
or useImmutable()
instead.
'Cake\I18n\Time'
protected boolean
Whether or not we want to override the time of the converted Time objects so it points to the start of the day.
This is primarily to avoid subclasses needing to re-implement the same functionality.
false
© 2005–2018 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/3.6/class-Cake.Database.Type.DateTimeType.html