private/Get-MeetingDate.ps1
|
function Get-MeetingDate { param([Parameter(Mandatory)][string]$Path) $name = [System.IO.Path]::GetFileName($Path) if ($name -match 'GMT(\d{8})-(\d{6})') { $utc = [datetime]::ParseExact("$($Matches[1])$($Matches[2])", 'yyyyMMddHHmmss', $inv, [System.Globalization.DateTimeStyles]::AssumeUniversal) return $utc.ToLocalTime() } if ($name -match '(\d{4})-(\d{2})-(\d{2})') { return [datetime]::new([int]$Matches[1], [int]$Matches[2], [int]$Matches[3]) } return (Get-Item -LiteralPath $Path).LastWriteTime } |