I can't get my head around how formatting a datetime variable inside a string works in PowerShell.
$startTime = Get-Date Write-Host "The script was started $startTime" # ...Do stuff... $endTime = Get-Date Write-Host "Done at $endTime. Time for the full run was: $( New-TimeSpan $startTime $endTime)."
gives me the US date format while I want ISO 8601.
I could use
$(Get-Date -Format u)
but I want to use $endTime to make the calculation of the timespan correct.
I have tried all permutations of $
, (
, )
, endTime
, -format
, u
, .ToString(...)
and .ToShortDate()
, but the one that works.
Use ParseExact to Convert String to DateTime in PowerShell The ParseExact method helps convert the specified date and time string to the DateTime data type. We have a variable $date , which contains the date in string format. You can check the data type using the GetType() method.
$currdateobj = Get-Date $STARTDATE = "12-05-2017" // specific non-default date format [DateTime]$startdateobj = [DateTime]::ParseExact($STARTDATE,"dd-MM-yyyy",[System. Globalization.
Utilize the “AddDays()” function and specify “-1” as a parameter for this function. Calling the “AddDays()” function with these specified settings will let you display Yesterday's date in your PowerShell.
Get Date and Time in PowerShell To find this information, pipe the Format-List cmdlet output below. You can also use the Get-Member command to find all the object properties by running the Get-Date | Get-Member command. If we check the type of object Get-Date | Get-Member returns, you'll notice a System.
"This is my string with date in specified format $($theDate.ToString('u'))"
or
"This is my string with date in specified format $(Get-Date -format 'u')"
The sub-expression ($(...)
) can include arbitrary expressions calls.
Microsoft Documents both standard and custom DateTime
format strings.
You can use the -f operator
$a = "{0:D}" -f (get-date) $a = "{0:dddd}" -f (get-date)
Spécificator Type Example (with [datetime]::now) d Short date 26/09/2002 D Long date jeudi 26 septembre 2002 t Short Hour 16:49 T Long Hour 16:49:31 f Date and hour jeudi 26 septembre 2002 16:50 F Long Date and hour jeudi 26 septembre 2002 16:50:51 g Default Date 26/09/2002 16:52 G Long default Date and hour 26/09/2009 16:52:12 M Month Symbol 26 septembre r Date string RFC1123 Sat, 26 Sep 2009 16:54:50 GMT s Sortable string date 2009-09-26T16:55:58 u Sortable string date universal local hour 2009-09-26 16:56:49Z U Sortable string date universal GMT hour samedi 26 septembre 2009 14:57:22 (oups) Y Year symbol septembre 2002
Spécificator Type Example Output Example dd Jour {0:dd} 10 ddd Name of the day {0:ddd} Jeu. dddd Complet name of the day {0:dddd} Jeudi f, ff, … Fractions of seconds {0:fff} 932 gg, … position {0:gg} ap. J.-C. hh Hour two digits {0:hh} 10 HH Hour two digits (24 hours) {0:HH} 22 mm Minuts 00-59 {0:mm} 38 MM Month 01-12 {0:MM} 12 MMM Month shortcut {0:MMM} Sep. MMMM complet name of the month {0:MMMM} Septembre ss Seconds 00-59 {0:ss} 46 tt AM or PM {0:tt} ““ yy Years, 2 digits {0:yy} 02 yyyy Years {0:yyyy} 2002 zz Time zone, 2 digits {0:zz} +02 zzz Complete Time zone {0:zzz} +02:00 : Separator {0:hh:mm:ss} 10:43:20 / Separator {0:dd/MM/yyyy} 10/12/2002
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With