Automattic\WooCommerce\Blocks\Domain\Services\CheckoutFieldTypes
DateFieldType::parse_duration
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() 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 );
}