Public/Get-Unixtime.ps1
Function Get-Unixtime { <# .SYNOPSIS Shows the current time or a input datetime as a unix timestamp .DESCRIPTION Unixtime is always UTC .PARAMETER inMilliseconds Just use this to parameter [switch] if you want to return the timestamp with milliseconds .PARAMETER timestamp Just input a [DateTime] object to calculate another timestamp .NOTES Name: Get-Unixtime.ps1 Author: florian.von.bracht@apteco.de DateCreated: DateUpdated: 2022-10-28 Site: https://github.com/gitfvb/ .LINK Site: https://github.com/gitfvb/AptecoHelperScripts/blob/master/functions/Time/Get-Unixtime.ps1 .EXAMPLE # Shows the current unix timestamp Get-Unixtime .EXAMPLE # Shows the current unix timestamp with Millseconds Get-Unixtime -InMilliseconds .EXAMPLE # Shows the unix timestamp with milliseconds from two days ago Get-Unixtime -InMilliseconds -Timestamp ( Get-Date ).AddDays(-2) #> [CmdletBinding()] [OutputType([UInt64])] param( [Parameter(Mandatory=$false,ValueFromPipeline)] [DateTime] $Timestamp = ( [Datetime]::now ) ,[Parameter(Mandatory=$false)] [Switch] $InMilliseconds = $false ) Process { $tsUtc = $Timestamp.ToUniversalTime() $dto = [DateTimeOffset]$tsUtc if ($InMilliseconds) { return [UInt64]$dto.ToUnixTimeMilliseconds() } else { return [UInt64]$dto.ToUnixTimeSeconds() } } } |