Class DateTimeType
Datetime type converter.
Use to convert datetime instances to strings & back.
- Cake\Database\Type implements Cake\Database\TypeInterface
- Cake\Database\Type\DateTimeType implements Cake\Database\TypeInterface
Direct Subclasses
Properties summary
-
$_className
protectedThe classname to use when creating objects.string
-
$_datetimeInstance
protectedDateTime
An instance of the configured dateTimeClass, used to quickly generate new instances without calling the constructor.
-
$_format
protectedString format to use for DateTime parsingstring|array
-
$_localeFormat
protectedThe date format to use for parsing incoming dates for marshalling.string|array|integer
-
$_name
protectedIdentifier name for this type.string|null
-
$_useLocaleParser
protectedboolean
Whether dates should be parsed using a locale aware parser when marshalling string inputs.
- The class to use for representing date objects
string
Inherited Properties
Method Summary
- __construct() publicConstructor
- _compare() protected
- _parseValue() protected
Converts a string into a DateTime object after parsing it using the locale aware parser with the specified format.
- _setClassName() protectedSet the classname to use when building objects.
- getDateTimeClassName() publicGet the classname used for building objects.
- marshal() publicConvert request data into a datetime object.
- setLocaleFormat() public
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. - toDatabase() publicConvert DateTime instance into strings.
- toPHP() publicConvert strings into DateTime instances.
- toStatement() publicCasts given value to Statement equivalent
- useImmutable() publicChange the preferred class name to the FrozenTime implementation.
- useLocaleParser() public
Sets whether or not to parse dates passed to the marshal() function by using a locale aware parser.
- useMutable() publicChange the preferred class name to the mutable Time implementation.
Method Detail
__construct()source public
__construct( string|null $name null )
Constructor
Parameters
- string|null
$name
optional null - The name identifying this type
Overrides
Cake\Database\Type::__construct()
_compare()source protected
_compare( Cake\I18n\Time|DateTime $date , mixed $value )
Parameters
-
Cake\I18n\Time
|DateTime$date
- DateTime object
- mixed
$value
- Request data
Returns
boolean_parseValue()source protected
_parseValue( string $value )
Converts a string into a DateTime object after parsing it using the locale aware parser with the specified format.
Parameters
- string
$value
- The value to parse and convert to an object.
Returns
Cake\I18n\Time
|null_setClassName()source protected
_setClassName( string $class , string $fallback )
Set the classname to use when building objects.
Parameters
- string
$class
- The classname to use.
- string
$fallback
- The classname to use when the preferred class does not exist.
getDateTimeClassName()source public
getDateTimeClassName( )
Get the classname used for building objects.
Returns
stringmarshal()source public
marshal( mixed $value )
Convert request data into a datetime object.
Parameters
- mixed
$value
- Request data
Returns
Cake\I18n\Time
|DateTimeOverrides
Cake\Database\Type::marshal()
Implementation of
Cake\Database\TypeInterface::marshal()
setLocaleFormat()source public
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.
Parameters
- string|array
$format
- The format in which the string are passed.
Returns
$this
See
\Cake\I18n\Time::parseDateTime()toDatabase()source public
toDatabase( string|integer|DateTime $value , Cake\Database\Driver $driver )
Convert DateTime instance into strings.
Parameters
- string|integer|DateTime
$value
- The value to convert.
-
Cake\Database\Driver
$driver
- The driver instance to convert with.
Returns
stringOverrides
Cake\Database\Type::toDatabase()
Implementation of
Cake\Database\TypeInterface::toDatabase()
toPHP()source public
toPHP( string $value , Cake\Database\Driver $driver )
Convert strings into DateTime instances.
Parameters
- string
$value
- The value to convert.
-
Cake\Database\Driver
$driver
- The driver instance to convert with.
Returns
Cake\I18n\Time
|DateTimeOverrides
Cake\Database\Type::toPHP()
Implementation of
Cake\Database\TypeInterface::toPHP()
toStatement()source public
toStatement( mixed $value , Cake\Database\Driver $driver )
Casts given value to Statement equivalent
Parameters
- mixed
$value
- value to be converted to PDO statement
-
Cake\Database\Driver
$driver
- object from which database preferences and configuration will be extracted
Returns
mixedOverrides
Cake\Database\Type::toStatement()
Implementation of
Cake\Database\TypeInterface::toStatement()
useImmutable()source public
useImmutable( )
Change the preferred class name to the FrozenTime implementation.
Returns
$this
useLocaleParser()source public
useLocaleParser( boolean $enable true )
Sets whether or not to parse dates passed to the marshal() function by using a locale aware parser.
Parameters
- boolean
$enable
optional true - Whether or not to enable
Returns
$this
useMutable()source public
useMutable( )
Change the preferred class name to the mutable Time implementation.
Returns
$this
Methods inherited from Cake\Database\Type
_basicTypeCast()source protected
_basicTypeCast( mixed $value )
Checks whether this type is a basic one and can be converted using a callback If it is, returns converted value
Deprecated
3.1 All types should now be a specific classParameters
- mixed
$value
- value to be converted to PHP equivalent
Returns
mixedboolval()source public static
boolval( mixed $value )
Type converter for boolean values.
Will convert string true/false into booleans.
Deprecated
3.1.8 This method is now unused.Parameters
- mixed
$value
- The value to convert to a boolean.
Returns
booleanbuild()source public static
build( string $name )
Returns a Type object capable of converting a type identified by $name
Parameters
- string
$name
- type identifier
Returns
Cake\Database\Type
Throws
InvalidArgumentExceptionIf type identifier is unknown
buildAll()source public static
buildAll( )
Returns an arrays with all the mapped type objects, indexed by name
Returns
arrayclear()source public static
clear( )
Clears out all created instances and mapped types classes, useful for testing
getBaseType()source public
getBaseType( )
Returns the base type name that this class is inheriting.
Returns
stringThe base type name that this class is inheriting.
Implementation of
Cake\Database\TypeInterface::getBaseType()
getName()source public
getName( )
Returns type identifier name for this object.
Returns
stringThe type identifier name for this object.
Implementation of
Cake\Database\TypeInterface::getName()
map()source public static
map( string|array|Cake\Database\Type|null $type null , string|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
Parameters
- string|array|
Cake\Database\Type
|null$type
optional null - if string name of type to map, if array list of arrays to be mapped
- string|null
$className
optional null - The classname to register.
Returns
array|string|nullif $type is null then array with current map, if $className is null string configured class name for give $type, null otherwise
newId()source public
newId( )
Generate a new primary key value for a given type.
Returns
mixedA new primary key value.
Implementation of
Cake\Database\TypeInterface::newId()
set()source public static
set( string $name , Cake\Database\Type $instance )
Returns a Type object capable of converting a type identified by $name
Parameters
- string
$name
- The type identifier you want to set.
-
Cake\Database\Type
$instance
- The type instance you want to set.
strval()source public static
strval( mixed $value )
Type converter for string values.
Will convert values into strings
Deprecated
3.1.8 This method is now unused.Parameters
- mixed
$value
- The value to convert to a string.
Returns
stringProperties detail
$_datetimeInstancesource
protected DateTime
An instance of the configured dateTimeClass, used to quickly generate new instances without calling the constructor.
$_formatsource
protected string|array
String format to use for DateTime parsing
[ 'Y-m-d H:i:s', 'Y-m-d\TH:i:sP', ]
$_localeFormatsource
protected string|array|integer
The date format to use for parsing incoming dates for marshalling.
$_namesource
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.)
$_useLocaleParsersource
protected boolean
Whether dates should be parsed using a locale aware parser when marshalling string inputs.
false
$dateTimeClasssource
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.
Deprecated
3.2.0 Use DateTimeType::useMutable() or DateTimeType::useImmutable() instead.'Cake\I18n\Time'
© 2005–2017 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.4/class-Cake.Database.Type.DateTimeType.html