Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 以24小时格式显示[datetime]对象_Powershell_Datetime - Fatal编程技术网

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

Powershell 以24小时格式显示[datetime]对象,powershell,datetime,Powershell,Datetime,我有一些检查有效日期的代码,简单示例: [datetime]::ParseExact( '201809222130', 'yyyyMMddHHmm', [System.Globalization.CultureInfo]::InvariantCulture ) 这将产生: Saturday, September 22, 2018, 9:30:00 PM 我试图以24小时格式显示小时,所需输出: Saturday, September 22, 2018, 21:30:0

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

[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小时格式?

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

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

Get-Date $d -UFormat %R
您还可以使用
.toSortTimeString()
方法:

$d.ToShortTimeString()
.ToString
并指定令牌:

$d.ToString('HH:mm')
!

再加上他的答案,您得到这个输出是因为您的区域设置。在我的机器上,相同的代码返回:

22 September 2018 21:30:00
原因是我的区域设置如下所示:

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

PowerShell的答案

使用get日期格式

小时是24小时

小时是12小时

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

2021-04-12 183340

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

2021-04-12 063340

在c#中使用myDate.ToString(“HH:mm”);