PowerShell Get-Date到数组中

时间:2015-01-28 00:28:12

标签: date powershell if-statement

我试图从PowerShell获取三个不同的时间戳,如下所示。我已经使用GET-DATE来完成各种命令,但我不确定如何在PowerShell中使用GET-DATE并使用GET-DATE增加"1/26/2015 1:00 AM" "2015-01-26" "Sunday" ((Get-Date -Format "M/dd/yyyy") + " " + "1:00 am").ToUpper() (Get-Date -Format "yyyy-MM-dd") (Get-Date).DayOfWeek for ($i = 0; $i -lt 7; $i++) { $d = ((Get-Date -Format "M/dd/yyyy").AddDays($i)) $d } 需要格式化。

到目前为止我所得到的是以下内容。

{{1}}

2 个答案:

答案 0 :(得分:1)

所以,这里有几件事......

首先,你过度复杂化了。要查看是否是星期一,请执行以下操作:

If((Get-Date).DayOfWeek -eq "Monday"){
    "It is Monday, executing script"
}Else{
    "Not Monday! Abort!"
}

回到你所要求的......一个星期几的阵列。这是[Enum]真正得心应手的地方。您已经使用[DayOfWeek]将“星期一”作为实际日期对象而不仅仅是字符串,但您希望从该类型中获取所有日期。为此,您可以使用[Enum]的{​​{1}}方法:

getvalues()

现在,我想我会尝试猜测你得到了什么,如果脚本没有在星期一运行,试图获得下周一的日期。如果您想要上一个星期一,只需在以下代码中将$Days = [Enum]::GetValues([DayOfWeek]) 更改为$i++

$i--

答案 1 :(得分:0)

原来我很接近。以下是https://stackoverflow.com/a/2249639/4317867中的问题,我为写下问题时的可怕技巧而道歉!

结束了:

for ($i = 1; $i -le 7; $i++)
{
 $d = ((Get-Date).AddDays($i))
 $d2 = $d.ToString("M/dd/yyyy")
 $d2
}

输出是:

1/28/2015
1/29/2015
1/30/2015
1/31/2015
2/01/2015
2/02/2015
2/03/2015