Automattic\WooCommerce\Admin\API\Reports
TimeInterval::next_year_start
Return a new DateTime object representing the next year start, or previous year end if reversed.
Method of the class: TimeInterval{}
No Hooks.
Returns
DateTime.
Usage
$result = TimeInterval::next_year_start( $datetime, $reversed );
- $datetime(DateTime) (required)
- Date and time.
- $reversed(true|false)
- Going backwards in time instead of forward.
Default: false
TimeInterval::next_year_start() TimeInterval::next year start code WC 10.3.6
public static function next_year_start( $datetime, $reversed = false ) {
$year_increment = 1;
$year = (int) $datetime->format( 'Y' );
$month = '01';
$day = '01';
if ( $reversed ) {
$datetime = new \DateTime( "$year-$month-$day 00:00:00", new \DateTimeZone( wc_timezone_string() ) );
$timestamp = (int) $datetime->format( 'U' );
$end_of_prev_year_timestamp = $timestamp - 1;
$datetime->setTimestamp( $end_of_prev_year_timestamp );
} else {
$year += $year_increment;
$datetime = new \DateTime( "$year-$month-$day 00:00:00", new \DateTimeZone( wc_timezone_string() ) );
}
return $datetime;
}