Windows ISO 8601 timestamp

Viewed 32278

I need to convert a date in Windows PowerShell to the ISO 8601 format.

In Linux/Unix it was no problem with

TZ=0 date -d "<random-format>" +%Y-%m-%dT%H:%M:%S.000Z

Now I need to do the same in Windows PowerShell. The output format on Windows is

Wednesday, 19. July 2017 01:06:13

How can I do it?

4 Answers

The following works both in Windows PowerShell 5.1 and PowerShell 7.0 on Windows/OS X:

 (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffK")
 
 2020-12-01T22:31:41.402Z

If you don't want your milliseconds, then format string would be "yyyy-MM-ddTHH:mm:ss.000K"

Old question but since none of the other answers has it, if you're looking for UTC, this seems to do it:

(Get-Date).ToUniversalTime().ToString("o")
Related