我有一些代码可以检查有效日期,简单的例子:
[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 答案
使用获取日期格式
HH是24小时
hh 是 12 小时
获取日期-格式“yyyy-MM-dd HHmmss”
2021-04-12 183340
获取日期-格式“yyyy-MM-dd hhmmss”
2021-04-12 063340
没有任何理由不能将
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')
要添加到他的答案中,由于您的区域设置,您会得到此输出。在我的机器上,返回相同的代码:
22 September 2018 21:30:00
这样做的原因是因为我的区域设置如下所示:
您可以更改全局区域设置,但最好使用代码来完成。
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 在此输入图片描述