private/core/Get-FormattedDate.ps1
<# .SYNOPSIS Parses a date string and returns it in a formatted manner. .DESCRIPTION Attempts to parse a date string using TryParse. If successful, returns the date in "yyyy-MM-dd HH:mm:ss" format. If parsing fails, returns the original string. If null or empty, returns "Unknown". .PARAMETER DateString The date string to parse and format. .EXAMPLE Get-FormattedDate -DateString "2023-05-15T13:45:30Z" Returns: "2023-05-15 13:45:30" #> function Get-FormattedDate { [CmdletBinding()] param( [Parameter(Mandatory = $false)] [string]$DateString ) if ([string]::IsNullOrEmpty($DateString)) { return "Unknown" } $parsedDate = [datetime]::MinValue if ([datetime]::TryParse($DateString, [ref]$parsedDate)) { return $parsedDate.ToString("yyyy-MM-dd HH:mm:ss") } else { # If parsing fails, return the original string return $DateString } } |