我试图从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}}
答案 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