以24小时格式显示[日期时间]对象

问题描述 投票:0回答:4

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

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

输出:

Saturday, September 22, 2018, 9:30:00 PM

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

Saturday, September 22, 2018, 21:30:00 PM

可以使用

Get-Date
Cmdlet 显示 24 小时格式,例如:
Get-Date -UFormat %R
,但在创建
[datetime]
对象时无法使用此功能。

如何显示24小时格式?

powershell datetime
4个回答
11
投票

PowerShell 答案

使用获取日期格式

HH是24小时

hh 是 12 小时

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

2021-04-12 183340

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

2021-04-12 063340


7
投票

没有任何理由不能将

Get-Date
与代码创建的
[datetime]
对象一起使用。例如:

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

Get-Date $d -UFormat %R

您也可以使用

.ToShortTimeString()
方法:

$d.ToShortTimeString()

.ToString
并指定标记:

$d.ToString('HH:mm')

2
投票

马克·拉格(Mark Wragg)打败了我

要添加到他的答案中,由于您的区域设置,您会得到此输出。在我的机器上,返回相同的代码:

22 September 2018 21:30:00

这样做的原因是因为我的区域设置如下所示:

enter image description here

您可以更改全局区域设置,但最好使用代码来完成。


0
投票

Power Shell 答案

格式 - 2024 年 9 月 24 日 11:43:35 AM

$currentDateTime = Get-Date -Format "dd-MMM-yyyy hh:mm:ss tt"; write-host $currentDateTime;

输出:2024 年 9 月 24 日上午 11:43:35 在此输入图片描述

© www.soinside.com 2019 - 2024. All rights reserved.