Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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 如何将datetime数组转换为仅获取时间(HH:mm)_Powershell - Fatal编程技术网

Powershell 如何将datetime数组转换为仅获取时间(HH:mm)

Powershell 如何将datetime数组转换为仅获取时间(HH:mm),powershell,Powershell,需要您帮助了解如何转换datetime数组结果以仅获取时间HH:mm。以下是示例结果集: $tableRt RecordedTime ------------ 2/18/2018 1:18:04 PM 2/18/2018 1:23:02 PM 2/18/2018 1:28:04 PM 2/18/2018 1:33:02 PM 2/18/2018 1:38:05 PM 2/18/2018 1:43:02 PM 只需将管道对象强制转换为[d

需要您帮助了解如何转换datetime数组结果以仅获取时间
HH:mm
。以下是示例结果集:

$tableRt

RecordedTime         
------------         
2/18/2018 1:18:04 PM

2/18/2018 1:23:02 PM 

2/18/2018 1:28:04 PM 

2/18/2018 1:33:02 PM 

2/18/2018 1:38:05 PM 

2/18/2018 1:43:02 PM 

只需将管道对象强制转换为
[datetime]
并格式化即可。例如:

$tableRt = @(
'2/18/2018 1:18:04 PM'
'2/18/2018 1:23:02 PM'
'2/18/2018 1:28:04 PM'
'2/18/2018 1:33:02 PM'
'2/18/2018 1:38:05 PM'
'2/18/2018 1:43:02 PM'
)


$tableRt | ForEach-Object {
    ([datetime]$_).ToString("HH:mm")
 }
输出:

13:18
13:23
13:28
13:33
13:38
13:43

感谢大家的建议,我能够解析代码并获得所需的输出

$FinalTable = @()
$FinalTableVar = New-Object System.Object
foreach ($data in $Table)
{
#$data
$RecordedTime = Get-Date -Date $data.RecordedTime -Format HH:mm
$FinalTableVar = [PSCustomObject]@{ 
RecordedTime = $RecordedTime
Connections = $data.Connections

}
$FinalTable += $FinalTableVar

}

$RT = $FinalTable | select-object "RecordedTime"
样本输出:

> $RT

RecordedTime
------------
15:28       
15:33 
15:38      

感谢您的快速响应,但我在尝试转换datatable结果时遇到了错误。以下是我使用的示例代码:$TableRT=$Table | select object“RecordedTime”$RecordedTime=@(Foreach($TableRT中的行){$Row[0]})$RecordedTime | Foreach object{([datetime]$)。ToString(“HH:mm”)}以下是错误消息:无法将值“{RecordedTime=2/19/2018 2:30:01 PM}”转换为“System.datetime”。错误:“无法将类型为“Selected.System.Data.DataRow”的“@{RecordedTime=2/19/2018 2:30:01 PM}”值转换为类型“System.DateTime”。“第3行字符:5+([DateTime]$\)。ToString(“HH:mm”)请开始一个新问题,阅读注释中的代码并不有趣,我需要一些可复制的东西。@PSNewbie您可能需要使用
$tableRt.RecordedTime | foreach…