Powershell中get-counter / export-counter返回的时间格式错误

时间:2011-06-21 23:04:07

标签: date powershell time format cmdlets

powershell中的get-counter / export-counter cmdlet似乎以美国格式返回日期,在这种情况下这是不可取的。我浏览了两个get-help -full页面,找不到允许我设置日期/时间格式的任何内容。有没有其他方法可以做到这一点,我不知道,或者我是否坚持使用美国日期格式?

2 个答案:

答案 0 :(得分:3)

您始终可以重新格式化输出:

get-counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 2 -MaxSamples 3 | 
select @{l="Timestamp";e={([datetime]"$($_.timestamp)").tostring("yyyy/MM/dd HH:mm:ss")}},Readings | fl





Timestamp : 2011/06/21 18:33:09
Readings  : \\TMA-1\processor(_total)\% processor time :
            3.87658516403437



Timestamp : 2011/06/21 18:33:11
Readings  : \\TMA-1\processor(_total)\% processor time :
            1.93861060616496



Timestamp : 2011/06/21 18:33:13
Readings  : \\TMA-1\processor(_total)\% processor time :
            3.10139633471207

答案 1 :(得分:3)

之所以如此,是因为您的主持人的文化是“en-US”,请注意:

Get-Culture | Format-List *

您可以在Scriptblock执行期间更改文化

[System.Globalization.CultureInfo] $culture = "en-US"
$a = { [System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
       [System.Threading.Thread]::CurrentThread.CurrentUICulture = $culture
       get-counter -Counter "\Processeur(_Total)\% temps processeur" -SampleInterval 2 -MaxSamples 3
     }
&$a

[System.Globalization.CultureInfo] $culture = "fr-FR"
$a = { [System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
       [System.Threading.Thread]::CurrentThread.CurrentUICulture = $culture
       get-counter -Counter "\Processeur(_Total)\% temps processeur" -SampleInterval 2 -MaxSamples 3
     }

&$a

Powershell-cookbook

中有很多相关信息