Class DateType

Datetime type converter.

Use to convert datetime instances to strings & back.

Cake\Database\Type implements Cake\Database\TypeInterface
Extended by Cake\Database\Type\DateTimeType implements Cake\Database\TypeInterface
Extended by Cake\Database\Type\DateType

Properties summary

  • $_format protected
    string|array
    Date format for DateTime object
  • $dateTimeClass public static
    string
    The class to use for representing date objects

Inherited Properties

Method Summary

  • _parseValue() protected

    Converts a string into a DateTime object after parsing it using the locale aware parser with the specified format.

  • marshal() public
    Convert request data into a datetime object.
  • toPHP() public
    Convert strings into Date instances.
  • Change the preferred class name to the FrozenDate implementation.
  • useMutable() public
    Change the preferred class name to the mutable Date implementation.

Method Detail

_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

Overrides

Cake\Database\Type\DateTimeType::_parseValue()

marshal()source public

marshal( mixed $value )

Convert request data into a datetime object.

Parameters

mixed $value
Request data

Returns

DateTime

Overrides

Cake\Database\Type\DateTimeType::marshal()

toPHP()source public

toPHP( string $value , Cake\Database\Driver $driver )

Convert strings into Date instances.

Parameters

string $value
The value to convert.
Cake\Database\Driver $driver
The driver instance to convert with.

Returns

Cake\I18n\Date|DateTime

Overrides

Cake\Database\Type\DateTimeType::toPHP()

useImmutable()source public

useImmutable( )

Change the preferred class name to the FrozenDate implementation.

Returns


$this

Overrides

Cake\Database\Type\DateTimeType::useImmutable()

useMutable()source public

useMutable( )

Change the preferred class name to the mutable Date implementation.

Returns


$this

Overrides

Cake\Database\Type\DateTimeType::useMutable()

Methods inherited from Cake\Database\Type\DateTimeType

__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

_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

string

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

string

Overrides

Cake\Database\Type::toDatabase()

Implementation of

Cake\Database\TypeInterface::toDatabase()

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

mixed

Overrides

Cake\Database\Type::toStatement()

Implementation of

Cake\Database\TypeInterface::toStatement()

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

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 class

Parameters

mixed $value
value to be converted to PHP equivalent

Returns

mixed

boolval()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

boolean

build()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

InvalidArgumentException
If type identifier is unknown

buildAll()source public static

buildAll( )

Returns an arrays with all the mapped type objects, indexed by name

Returns

array

clear()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

string
The 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

string
The 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|null

if $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

mixed
A 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

string

Properties detail

$_formatsource

protected string|array

Date format for DateTime object

'Y-m-d'

$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 DateType::useMutable() or DateType::useImmutable() instead.
'Cake\I18n\Date'

© 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.DateType.html