Private/ConvertTo-UnixTime.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
Function ConvertTo-UnixTime { <# .SYNOPSIS Returns UnixTime of a given date. .DESCRIPTION Returns UnixTime as a whole number. .PARAMETER Date A DateTime object to return the UnixTime of. .EXAMPLE Get-Date | ConvertTo-UnixTime #> [CmdletBinding()] [OutputType('System.Integer')] Param( [Parameter( Mandatory = $true, ValueFromPipeline = $true )] [DateTime]$Date, [Parameter( Mandatory = $false, ValueFromPipeline = $false )] [switch]$Milliseconds ) begin { $currentCulture = [System.Threading.Thread]::CurrentThread.CurrentCulture } process { [System.Threading.Thread]::CurrentThread.CurrentCulture = 'en-US' $UnixTime = [math]::Round($(Get-Date $Date.ToUniversalTime() -UFormat %s)) If ($Milliseconds) { $UnixTime = $UnixTime * 1000 } $UnixTime } end { [System.Threading.Thread]::CurrentThread.CurrentCulture = $currentCulture } } |