以 24 小时格式显示 [datetime] 对象

Jel*_*phy 3 powershell datetime

我有一些代码检查有效日期,简单的例子:

[datetime]::ParseExact(
    '201809222130',
    'yyyyMMddHHmm',
    [System.Globalization.CultureInfo]::InvariantCulture
)
Run Code Online (Sandbox Code Playgroud)

这输出:

Saturday, September 22, 2018, 9:30:00 PM
Run Code Online (Sandbox Code Playgroud)

我正在尝试以 24 小时格式显示小时,所需的输出:

Saturday, September 22, 2018, 21:30:00 PM
Run Code Online (Sandbox Code Playgroud)

可以使用Get-DateCmdlet 显示 24 小时格式,例如:Get-Date -UFormat %R,但我在创建对象时无法使用它[datetime]

如何显示24小时格式?

Jef*_*ene 11

PowerShell 的答案

使用获取日期格式

HH 是 24 小时

hh 是 12 小时

获取日期-格式“yyyy-MM-dd HHmmss”

2021-04-12 183340

获取日期-格式“yyyy-MM-dd hhmmss”

2021-04-12 063340


Mar*_*agg 7

没有任何理由不能Get-Date[datetime]代码创建的对象一起使用。例如:

$d = [datetime]::ParseExact(
    '201809222130',
    'yyyyMMddHHmm',
    [System.Globalization.CultureInfo]::InvariantCulture
)

Get-Date $d -UFormat %R
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下.ToShortTimeString()方法:

$d.ToShortTimeString()
Run Code Online (Sandbox Code Playgroud)

或者.ToString并指定标记:

$d.ToString('HH:mm')
Run Code Online (Sandbox Code Playgroud)