Private/Collect/Get-TcDaysSince.ps1

function Get-TcDaysSince {
    <#
    .SYNOPSIS
    Returns the whole days since a date, negative for a future date, or nothing for a missing or meaningless date.
    #>

    [CmdletBinding()]
    param(
        [Parameter(Position = 0)][AllowNull()]$Date
    )

    if (-not $Date) { return $null }
    try {
        $value = if ($Date -is [datetime]) { $Date }
        elseif ($Date -is [datetimeoffset]) { $Date.UtcDateTime }
        else {
            [datetime]::Parse([string]$Date, [Globalization.CultureInfo]::InvariantCulture, [Globalization.DateTimeStyles]::AdjustToUniversal -bor [Globalization.DateTimeStyles]::AssumeUniversal)
        }
        if ($value.Year -lt 1990) { return $null }
        [int][math]::Floor(((Get-Date).ToUniversalTime() - $value.ToUniversalTime()).TotalDays)
    }
    catch { $null }
}