Private/Get-OpeningHours.ps1

function Get-OpeningHours
{
    param
    (
        [Parameter(Mandatory)]
        [DateTime]$Date,

        [Parameter(Mandatory)]
        [string]$TimeText
    )

    if ($TimeText -match '^(\d{2}:\d{2}) - (\d{2}:\d{2})$')
    {
        $FromText = $Matches[1]
        $ToText = $Matches[2]
        $FromTime = [TimeSpan]::ParseExact($FromText, 'hh\:mm', $null)
        $ToTime = [TimeSpan]::ParseExact($ToText, 'hh\:mm', $null)

        [PSCustomObject]@{
            PSTypeName = 'UncommonSense.AH.OpeningHours'
            Date       = $Date
            DayOfWeek  = $Date.DayOfWeek
            From       = $Date.Add($FromTime)
            To         = $Date.Add($ToTime)
        }
    }
}