Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to format a DateTime in PowerShell

People also ask

How do I convert DateTime in PowerShell?

Using ParseExact method of DateTime, take a string as input, datetime format, and culture-specific format information, and convert string to datetime. As in the above output, ParseExact converts string datetime format to dd/MM/yyyy format datetime. Cool Tip: How to create a multiline string in PowerShell!

How does PowerShell define DateTime?

You can set datetime value to a variable by using Get-Date cmdlet and we can also a convert date string to datetime object using simple DateTime casting.

What does :: mean in PowerShell?

Static member operator :: To find the static properties and methods of an object, use the Static parameter of the Get-Member cmdlet. The member name may be an expression. PowerShell Copy.


The same as you would in .NET:

$DateStr = $Date.ToString("yyyyMMdd")

Or:

$DateStr = '{0:yyyyMMdd}' -f $Date

The question is answered, but there is some more information missing:

Variable vs. Cmdlet

You have a value in the $Date variable and the -f operator does work in this form: 'format string' -f values. If you call Get-Date -format "yyyyMMdd" you call a cmdlet with some parameters. The value "yyyyMMdd" is the value for parameter Format (try help Get-Date -param Format).

-f operator

There are plenty of format strings. Look at least at part1 and part2. She uses string.Format('format string', values'). Think of it as 'format-string' -f values, because the -f operator works very similarly as string.Format method (although there are some differences (for more information look at question at Stack Overflow: How exactly does the RHS of PowerShell's -f operator work?).


A simple and nice way is:

$time = (Get-Date).ToString("yyyy:MM:dd")


A very convenient -- but probably not all too efficient -- solution is to use the member function GetDateTimeFormats(),

$d = Get-Date
$d.GetDateTimeFormats()

This outputs a large string-array of formatting styles for the date-value. You can then pick one of the elements of the array via the []-operator, e.g.,

PS C:\> $d.GetDateTimeFormats()[12]
Dienstag, 29. November 2016 19.14