我有一些代码可以检查有效日期,简单示例:
[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显示24h格式,例如:Get-Date -UFormat %R
,但在创建[datetime]
对象时我无法使用此格式。
如何显示24小时格式?
答案 0 :(得分:2)
没有任何理由可以将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')
答案 1 :(得分:2)
要添加他的答案,由于您的区域设置,您将获得此输出。在我的机器上,相同的代码返回:
22 September 2018 21:30:00
原因是因为我的区域设置如下所示:
您可以更改全局区域设置,但最好通过代码完成设置。
答案 2 :(得分:2)
PowerShell 答案
使用获取日期格式
HH 是 24 小时
hh 是 12 小时
get-date -format "yyyy-MM-dd HHmmss"
2021-04-12 183340
get-date -format "yyyy-MM-dd hhmmss"
2021-04-12 063340