Automattic\WooCommerce\Admin\API\Reports

TimeInterval::next_hour_start()public staticWC 1.0

Returns a new DateTime object representing the next hour start/previous hour end if reversed.

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

Хуков нет.

Возвращает

DateTime.

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

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

Код TimeInterval::next_hour_start() WC 8.7.0

public static function next_hour_start( $datetime, $reversed = false ) {
	$hour_increment         = $reversed ? 0 : 1;
	$timestamp              = (int) $datetime->format( 'U' );
	$seconds_into_hour      = (int) $datetime->format( 'i' ) * MINUTE_IN_SECONDS + (int) $datetime->format( 's' );
	$hours_offset_timestamp = $timestamp + ( $hour_increment * HOUR_IN_SECONDS - $seconds_into_hour );

	if ( $reversed ) {
		$hours_offset_timestamp --;
	}

	$hours_offset_time = new \DateTime();
	$hours_offset_time->setTimestamp( $hours_offset_timestamp );
	$hours_offset_time->setTimezone( new \DateTimeZone( wc_timezone_string() ) );
	return $hours_offset_time;
}