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

powershellmicrosoft technologiessoftware & coding更新于 2026/2/14 21:37:17

默认情况下,运行  (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
2020-03-18
  • 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 2020-03-18 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

您还可以将 Get-Date 格式化为 .NET 格式,为此,您需要使用  –Format 参数。

.NET 格式说明符的使用方法如下。

dddd星期几 – 全名
MM月份数
dd月份几 – 2 位数字
yyyy4 位数字格式的年份
HH:mm24 小时格式的时间 - 无秒
KUTC(世界标准时间)时区格式

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

示例

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 参数。以下说明符用于通用格式。

%A星期几 – 全名
%m月份数
%d月份几 – 2 位数字
%Y4 位数字格式的年份
%R24 小时格式的时间 –无秒
%Z与 UTC 的时区偏移

示例

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


Get-Date -UFormat %R
21:15

相关文章