FrozenTimeTrait
A trait for freezing the time aspect of a DateTime.
Used in making calendar date objects, both mutable and immutable.
Table of Contents
Methods
- add() : static
 - Add an Interval to a Date
 - modify() : static
 - Overloaded to ignore time changes.
 - setTime() : static
 - Modify the time on the Date.
 - setTimestamp() : static
 - Set the timestamp value and get a new object back.
 - setTimezone() : $this
 - No-op method.
 - sub() : static
 - Subtract an Interval from a Date.
 - timezone() : $this
 - No-op method.
 - tz() : $this
 - No-op method.
 - stripRelativeTime() : string
 - Remove time components from strtotime relative strings.
 - stripTime() : string
 - Removes the time components from an input string.
 
Methods
add()
Add an Interval to a Date
    public
                    add(DateInterval $interval) : static
    Any changes to the time will be ignored and reset to 00:00:00
Parameters
- $interval : DateInterval
 - 
                    
The interval to modify this date by.
 
Attributes
- #[ReturnTypeWillChange]
 
Return values
static —A modified Date instance
modify()
Overloaded to ignore time changes.
    public
                    modify(string $relative) : static
    Changing any aspect of the time will be ignored, and the resulting object will have its time frozen to 00:00:00.
Parameters
- $relative : string
 - 
                    
The relative change to make.
 
Attributes
- #[ReturnTypeWillChange]
 
Return values
static —A new date with the applied date changes.
setTime()
Modify the time on the Date.
    public
                    setTime(int $hours, int $minutes[, int $seconds = null ][, int $microseconds = null ]) : static
    This method ignores all inputs and forces all inputs to 0.
Parameters
- $hours : int
 - 
                    
The hours to set (ignored)
 - $minutes : int
 - 
                    
The minutes to set (ignored)
 - $seconds : int = null
 - 
                    
The seconds to set (ignored)
 - $microseconds : int = null
 - 
                    
The microseconds to set (ignored)
 
Attributes
- #[ReturnTypeWillChange]
 
Return values
static —A modified Date instance.
setTimestamp()
Set the timestamp value and get a new object back.
    public
                    setTimestamp(int $value) : static
    This method will discard the time aspects of the timestamp and only apply the date portions
Parameters
- $value : int
 - 
                    
The timestamp value to set.
 
Attributes
- #[ReturnTypeWillChange]
 
Return values
staticsetTimezone()
No-op method.
    public
                    setTimezone(DateTimeZone|string $value) : $this
    Timezones have no effect on calendar dates.
Parameters
- $value : DateTimeZone|string
 - 
                    
The DateTimeZone object or timezone name to use.
 
Attributes
- #[ReturnTypeWillChange]
 
Return values
$thissub()
Subtract an Interval from a Date.
    public
                    sub(DateInterval $interval) : static
    Any changes to the time will be ignored and reset to 00:00:00
Parameters
- $interval : DateInterval
 - 
                    
The interval to modify this date by.
 
Attributes
- #[ReturnTypeWillChange]
 
Return values
static —A modified Date instance
timezone()
No-op method.
    public
                    timezone(DateTimeZone|string $value) : $this
    Timezones have no effect on calendar dates.
Parameters
- $value : DateTimeZone|string
 - 
                    
The DateTimeZone object or timezone name to use.
 
Return values
$thistz()
No-op method.
    public
                    tz(DateTimeZone|string $value) : $this
    Timezones have no effect on calendar dates.
Parameters
- $value : DateTimeZone|string
 - 
                    
The DateTimeZone object or timezone name to use.
 
Return values
$thisstripRelativeTime()
Remove time components from strtotime relative strings.
    protected
                    stripRelativeTime(string $time) : string
    Parameters
- $time : string
 - 
                    
The input expression
 
Return values
string —The output expression with no time modifiers.
stripTime()
Removes the time components from an input string.
    protected
                    stripTime(DateTime|DateTimeImmutable|string|int|null $time, DateTimeZone|null $tz) : string
    Used to ensure constructed objects always lack time.
Parameters
- $time : DateTime|DateTimeImmutable|string|int|null
 - 
                    
The input time. Integer values will be assumed to be in UTC. The 'now' and '' values will use the current local time.
 - $tz : DateTimeZone|null
 - 
                    
The timezone in which the date is taken
 
Return values
string —The date component of $time.