# classes/phing/types/selectors/DateSelector.php

Selector that chooses files based on their last modified date. Ant uses millisecond precision (thanks to Java); PHP is forced to use only seconds precision.

author
  Hans Lellelid <hans@xmpl.org> (Phing)
author
  Bruce Atherton <bruce@callenish.com> (Ant)
package
  phing.types.selectors
version
  $Revision: 1207 $

## \DateSelector
jump to top

Selector that chooses files based on their last modified date. Ant uses millisecond precision (thanks to Java); PHP is forced to use only seconds precision.

It provides support for gathering the parameters together as well as for assigning an error message and throwing a build exception if an error is detected.

Extends from
  \BaseExtendSelector
author
  Hans Lellelid <hans@xmpl.org> (Phing)
author
  Bruce Atherton <bruce@callenish.com> (Ant)
package
  phing.types.selectors
version
  $Revision: 1207 $

### Constants

`MILLIS_KEY = 'millis'`

`DATETIME_KEY = 'datetime'`

`CHECKDIRS_KEY = 'checkdirs'`

`GRANULARITY_KEY = 'granularity'`

`WHEN_KEY = 'when'`

### Properties

`$cmp= '2'`
Default value `2` Details

Type

`$dateTime= 'null'`
Default value `null` Details

Type

`$granularity= '0'`
Default value `0` Details

Type

`$includeDirs= 'false'`
Default value `false` Details

Type

`$seconds= ''`
Details

Type

`$timeComparisons= 'array'`
static
Default value `array` Details

Type

### Methods

`__construct( ) :`
`getSeconds( ) :`
Returns the seconds value the selector is set for.
`isSelected( \PhingFile $basedir, string $filename, \PhingFile $file ) : boolean`
The heart of the matter. This is where the selector gets to decide on the inclusion of a file in a particular fileset.
Parameters

Name | Type | Description
--- | --- | ---
$basedir | \PhingFile | the base directory the scan is being done from
$filename | string | is the name of the file to check
$file | \PhingFile | is a PhingFile object the selector can use

Returns

Type | Description
--- | ---
boolean |

`setCheckdirs( boolean $includeDirs ) :`
Should we be checking dates on directories?
Parameters

Name | Type | Description
--- | --- | ---
$includeDirs | boolean | whether to check the timestamp on directories

`setDatetime( string $dateTime ) :`
Sets the date. The user must supply it in MM/DD/YYYY HH:MM AM_PM format
Parameters

Name | Type | Description
--- | --- | ---
$dateTime | string | a string in MM/DD/YYYY HH:MM AM_PM format

`setGranularity( int $granularity ) :`
Sets the number of milliseconds leeway we will give before we consider a file not to have matched a date.
Parameters

Name | Type | Description
--- | --- | ---
$granularity | int |

`setParameters( array $parameters ) :`
When using this as a custom selector, this method will be called.

It translates each parameter into the appropriate setXXX() call.

Parameters

Name | Type | Description
--- | --- | ---
$parameters | array | the complete set of parameters for this selector

`setSeconds( int $seconds ) :`
For users that prefer to express time in seconds since 1970
Parameters

Name | Type | Description
--- | --- | ---
$seconds | int | the time to compare file's last modified date to, expressed in milliseconds

`setWhen( string $cmp ) :`
Sets the type of comparison to be done on the file's last modified date.
Parameters

Name | Type | Description
--- | --- | ---
$cmp | string | The comparison to perform

`toString( ) :`
`verifySettings( ) :`
This is a consistency check to ensure the selector's required values have been set.
Documentation was generated by DocBlox 0.13.1.