Automattic\WooCommerce\Admin\API\Reports

TimeInterval::next_year_start()public staticWC 1.0

Return a new DateTime object representing the next year start, or previous year end if reversed.

Метод класса: TimeInterval{}

Хуков нет.

Возвращает

DateTime.

Использование

$result = TimeInterval::next_year_start( $datetime, $reversed );
$datetime(DateTime) (обязательный)
Date and time.
$reversed(true|false)
Going backwards in time instead of forward.
По умолчанию: false

Код TimeInterval::next_year_start() WC 8.7.0

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;
}