Posted On January 14, 2021

PowerShell: Time Stamp Variable

kimconnect 0 comments
blog.KimConnect.com >> Codes >> PowerShell: Time Stamp Variable

This is useful in almost any script as it enables the accurate timestamp of log entries, file names, and object events:

This will output the system time zone in words (e.g. Pacific Standard Time) or offset denotation (e.g.UTC-8) if there’s no standard for it:

$timeZoneName=[System.TimeZoneInfo]::Local.StandardName
This will output the time stamp string to be appended to a file name:
$timeZoneName=[System.TimeZoneInfo]::Local.StandardName
$timeStampFileName=[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId([datetime]::UtcNow,$timeZoneName).ToString('yyyy-MM-dd_HH-mm-ss')+'_'+[regex]::replace($timeZoneName,'([A-Z])\w+\s*', '$1')
$abbreviatedZoneName=if($timeZoneName -match ' '){[regex]::replace($timeZoneName,'([A-Z])\w+\s*', '$1')}else{$timeZoneName}
$timeStampFormat="yyyy-MM-dd_HH-mm-ss_$abbreviatedZoneName"
$timeStampFileName=[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId([datetime]::UtcNow,$timeZoneName).ToString($timeStampFormat)

write-host $timeStampFileName
This will output the time stamp as valid conversion object in a program:
$timeZoneName=[System.TimeZoneInfo]::Local.StandardName
$abbreviatedZoneName=if($timeZoneName -match ' '){[regex]::replace($timeZoneName,'([A-Z])\w+\s*', '$1')}else{$timeZoneName}
$timeStampFormat="yyyy-MM-dd HH:mm:ss $abbreviatedZoneName"
$timeStamp=[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId([datetime]::UtcNow,$timeZoneName).ToString($timeStampFormat)

write-host $timeStamp

# Converting time stamp back to time value object
$timeValue=[datetime]::parseexact($timeStamp,$timeStampFormat,$null)

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

PowerShell: Check Whether an Application Is Installed Using Known Service Name

# Check whether product is installed $serviceName='windows_exporter' function checkUninstall($serviceName){ $cpuArchitecture32bitPointerSize=4 $path=if ([IntPtr]::Size -eq $cpuArchitecture32bitPointerSize) {…

PowerShell: Add Network Sites (VLAN) into a Virtual Machine Manager Logical Network

# addVmmNetworkSites.ps1 # version 0.01 # User Defined Variables $networkSites=@( @{ 'newNetworkSitename'="test 1" 'vlanId'=100 'vlanCidr'='192.168.1.0/24'…

PowerShell: Monitor a Program Wizard for Its Task Completion

Once upon a time in the realm of SysAdmin endless green pastures, there were rampant…
Other project: DragonCoin.com