如何在PowerShell中格式化日期字符串?

默认情况下,当您运行 (Get-Date)  cmdlet时,其输出采用以下格式。

PS C:\WINDOWS\system32> Get-Date
18 March 2020 22:56:18

您可以使用PowerShell支持的各种格式来格式化上述输出。

例子

  • d –短日期模式。

PS C:\WINDOWS\system32> Get-Date -Format d
18-03-2020
  • D –长日期模式

PS C:\WINDOWS\system32> Get-Date -Format D
18 March 2020
  • f –全日期模式和短时间模式。

PS C:\WINDOWS\system32> Get-Date -Format f
18 March 2020 23:01
  • F –全日期模式和长时间模式。

PS C:\WINDOWS\system32> Get-Date -Format F
18 March 2020 23:02:22
  • g –具有短时间模式的常规日期模式。

PS C:\WINDOWS\system32> Get-Date -Format g 18-03-2020 23:03
  • G –具有较长时间格式的常规日期格式。

PS C:\WINDOWS\system32> Get-Date -Format G
18-03-2020 23:05:39
  • M / m-月日模式。

PS C:\WINDOWS\system32> Get-Date -Format M
18 March
PS C:\WINDOWS\system32> Get-Date -Format m
18 March
  • O,o –往返日期/时间模式

PS C:\WINDOWS\system32> Get-Date -Format O
2020-03-18T23:08:36.8098960+05:30
PS C:\WINDOWS\system32> Get-Date -Format o
2020-03-18T23:08:36.8098960+05:30
  • R,r – RFC1123模式

PS C:\WINDOWS\system32> Get-Date -Format R
Wed, 18 Mar 2020 23:10:06 GMT
PS C:\WINDOWS\system32> Get-Date -Format r
Wed, 18 Mar 2020 23:10:06 GMT
  • s –可排序的日期/时间模式

PS C:\WINDOWS\system32> Get-Date -Format s
2020-03-18T23:12:12
  • t –短时间模式。

PS C:\WINDOWS\system32> Get-Date -Format t
23:13
  • T –长时间模式。

PS C:\WINDOWS\system32> Get-Date -Format T
23:13:09
  • u –通用可排序日期/时间模式。

PS C:\WINDOWS\system32> Get-Date -Format u
2020-03-19 20:21:37Z
  • U –通用完整日期/时间格式。

PS C:\WINDOWS\system32> Get-Date -Format U
19 March 2020 14:51:41
  • Y,y –年月模式。

PS C:\WINDOWS\system32> Get-Date -Format y
March, 2020
PS C:\WINDOWS\system32> Get-Date -Format Y
March, 2020

您也可以格式化获取最新.NET格式和这一点,你需要使用 -format参数。

.NET格式说明符可以按以下方式使用。

dddd星期几–全名
MM月数
dd每月的某天-2位数字
yyyy4位数字格式的年份
高度:毫米时间为24小时制-无秒
ķUTC(通用时间坐标)中的时区格式

您可以使用上述任何组合将日期格式化为所需格式。

示例

Get-Date -Format "dd/MM/yyyy"
19-03-2020


PS C:\WINDOWS\system32> Get-Date -Format "dd/MM/yyyy -- dddd"
19-03-2020 -- Thursday


PS C:\WINDOWS\system32> Get-Date -Format "HH:mm K"
20:44 +05:30

您也可以将日期字符串格式化通用格式,为此,您需要使用–Uformat参数。以下用于通用格式的说明符。

%一种星期几–全名
%m月数
%d每月的某天-2位数字
%Y4位数字格式的年份
%R时间为24小时制-无秒
%ZUTC时区偏移量

示例

Get-Date -UFormat "%d %m %Y"
19 03 2020


Get-Date -UFormat %R
21:15