Private/ConvertFrom-TagTimestamp.ps1

function ConvertFrom-TagTimestamp {
    <#
    .SYNOPSIS
    Parse a tag timestamp back into a UTC datetime, or $null

    .DESCRIPTION
    Accepts the epoch format the module writes, ISO 8601, and the invariant "MM/dd/yyyy HH:mm:ss"
    form that an Az round trip produces from an ISO value, so tags written by older versions
    still work. Anything else yields $null.
    #>

    [CmdletBinding()]
    [OutputType([datetime])]
    param(
        [Parameter(Mandatory)][AllowEmptyString()][string]$Value
    )

    $text = $Value.Trim()
    if (-not $text) { return $null }

    if ($text -match '^\d{9,11}$') {
        return [DateTimeOffset]::FromUnixTimeSeconds([long]$text).UtcDateTime
    }

    $styles = [System.Globalization.DateTimeStyles]::AssumeUniversal -bor [System.Globalization.DateTimeStyles]::AdjustToUniversal
    $parsed = [datetime]::MinValue
    if ([datetime]::TryParse($text, [cultureinfo]::InvariantCulture, $styles, [ref]$parsed)) { return $parsed }
    return $null
}