get-date Format yyyymmddhhmmss in Powershell

The Get-Date cmdlet gets the current date and time. Here is an example,

This article discusses how to format Get-Date output using two formatting options – .NET and UNIX.

In particular, we want to get the datetime output in the format yyyymmddhhmmss. In this format, “Friday, December 23, 2022 11:00:12 AM” becomes

202212110012

Get-Date Format yyyymmddhhmmss Using .NET Formatting Style

The .NET format uses the -Format parameter in Get-Date with the following formatting shorthands:

Shorthand Meaning
“yyyy” The year as a four-digit number, e.g. 2009, 0100
“MM” The month of the year, from 01 through 12
“hh” The hour, using a 12-hour clock from 01 to 12.
“HH” The hour, using a 24-hour clock from 00 to 23.
“ss” The second, from 00 through 59.
“mm” The minute, from 00 through 59.
“dd” The day of the month, from 01 through 31.

With those shorthands, we can now format the Get-Date command as follows

You can also include separators to make the output more readable. The following example uses “/”as a date separator, whitespace between time and date, and “:” as a time separator.

Showing AM or PM designator (using tt format specifier)

Using a 24-hour system (use HH instead of hh)

Using Unix Style to get yyyymmddhhmmss Datetime Format

The following formatting specifiers come in handy for our case.

Shorthand Meaning
%Y The year as a four-digit format, e.g. 2009, 0198
%m 2-digit month number, 01 to 12
%d Day of the month – 2 digits, 01 through 31
%H Hour in the 24-hour system, 00 to 23
%I Hour in 12-hour format, 01 to 12
%M Minutes, 00 through 59
%S Seconds, from 00 to 59
%p AM or PM designator
%F Date in yyyy-mm-dd format, equal to %Y-%m-%d, e.g. 2022-12-23. (Available in PowerShell 6.2 and later)
%r Time in 12-hour format, for example, 10:01:57 PM
%T Time in 24-hour format, e.g. 22:01:57

Just like in the .NET format specifier, you can also use separators. For example,

You can also use %F instead of %Y-%m-%d and %T in place of %H:%M:%S as follows

And for a 12-hour clock system with AM/PM designator, use something like this

References

Get-Date cmdlet: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-date

.NET format specifiers: https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

UFormat specifiers: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-date (at the bottom of the page)