Automattic\WooCommerce\Blocks\Domain\Services\CheckoutFieldTypes

DateFieldType::parse_duration │ private static │ WC 1.0

Parses a duration without losing weeks on PHP 7.

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

Хуков нет.

Возвращает

\DateInterval. The parsed duration.

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

$result = DateFieldType::parse_duration( $duration ): \DateInterval;
$duration(строка) (обязательный)
The unsigned ISO duration.

Код DateFieldType::parse_duration() WC 11.2.2

private static function parse_duration( string $duration ): \DateInterval {
	if ( version_compare( PHP_VERSION, '8.0', '<' ) ) {
		$duration = preg_replace_callback(
			'/(\d+)W(?:(\d+)D)?/',
			static function ( $matches ) {
				return ( (int) $matches[1] * 7 + (int) ( $matches[2] ?? 0 ) ) . 'D';
			},
			$duration
		) ?? '';
	}

	return new \DateInterval( $duration );
}