Is it recommended to encapsulate time zone conversion logic in a separate function with parameters in PHP code?

It is recommended to encapsulate time zone conversion logic in a separate function with parameters in PHP code to improve code reusability and maintainability. By creating a function that accepts the necessary parameters (such as the original time, original time zone, and target time zone), you can easily reuse the logic in different parts of your codebase without duplicating the conversion logic.

function convertTimezone($originalTime, $originalTimezone, $targetTimezone) {
    $dateTime = new DateTime($originalTime, new DateTimeZone($originalTimezone));
    $dateTime->setTimezone(new DateTimeZone($targetTimezone));
    return $dateTime->format('Y-m-d H:i:s');
}

// Example usage
$originalTime = '2022-01-01 12:00:00';
$originalTimezone = 'America/New_York';
$targetTimezone = 'Asia/Tokyo';

$convertedTime = convertTimezone($originalTime, $originalTimezone, $targetTimezone);
echo $convertedTime;