您好我想只获取带有日期上下文的文件的月份和年份 例如:
Where-Object {$_.StartDate-eq (Get-Date).AddDays(0).ToString("mm.yyyy") } |
当前状态:
Get-Content "file" -Encoding:String |
Select -Skip 1 |
ConvertFrom-Csv |
Where-Object {$_.StartDate -eq (Get-Date).ToString("MM.yyyy") } |
Where-Object {-not $_.DestinationNumber.StartsWith("+49") -and $_.DestinationNumber.StartsWith("+")} |
ForEach { [DateTime]$_.EndTime - [DateTime]$_.StartTime } |
ForEach { $Total=0 } { $Total += $_.TotalMinutes}
[math]::Round($Total,2),'Minuten'
我希望任何人都可以帮助我。
答案 0 :(得分:1)
小写'm'表示分钟,你必须使用大写字母M表示月份。像...这样的东西。
{$_.StartDate-eq (Get-Date).AddDays(0).ToString("MM.yyyy")
如果您只需要获取当前日期,则无需调用AddDays方法。你可以简单一试,
(Get-Date).ToString("MM.yyyy")
- 根据OP澄清编辑 -
从上下文看,您希望将$_.StartDate
转换为 MM.yyyy 格式。如果是这种情况(假设您在$ _。StartDate中有一个有效的日期时间值),您可以在其上使用Get-Date方法。像,
Where-Object {(Get-Date($_.StartDate)).ToString("MM.yyyy") -eq (Get-Date).ToString("MM.yyyy") }