Private/EAI/Format-EAIEventTime.ps1
|
function Format-EAIEventTime { [CmdletBinding()] param( [Parameter(Mandatory, ValueFromPipeline)] $DateTime ) if ($DateTime -is [string]) { if ($DateTime -match '^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{5}Z$') { return $DateTime } $DateTime = [datetime]::Parse( $DateTime, [System.Globalization.CultureInfo]::InvariantCulture, [System.Globalization.DateTimeStyles]::RoundtripKind ) } $utc = $DateTime.ToUniversalTime() $fractional = $utc.ToString('ffffff').Substring(0, 5) return '{0}.{1}Z' -f $utc.ToString('yyyy-MM-ddTHH:mm:ss'), $fractional } |