我试图弄清楚如何将2014年8月27日到10月27日之间的所有日期添加到yyyyMMdd格式的数组中。有人可以指出我正确的方向。
答案 0 :(得分:3)
谢谢你们,我一如既往地在论坛上发布了一个想法。这似乎适用于我需要的东西。
$startDate = Get-Date 08-27-14
$endDate = Get-Date 10-27-14
while($startDate -le $endDate){
$nextDate = Get-Date $startDate -format yyyyMMdd
write-host $nextDate
$startDate = $startDate.AddDays(1)
}
答案 1 :(得分:1)
这样的事情应该有效:
$date = [datetime]'08/27/2014'
$array =
do {
$date.ToString('MM/dd/yy')
$date = $date.AddDays(1)
}
until ($date -gt [datetime]'10/27/2014')
答案 2 :(得分:1)
替代方案:
$ts = New-TimeSpan -Start (Get-Date -Year 2014 -Month 08 -Day 27) -End (Get-Date -Year 2014 -Month 10 -Day 27)
for ($i = 1; $i -le $ts.Days; $i++) {[array]$dates += ((Get-Date -Year 2014 -Month 08 -Day 27).AddDays($i))}
答案 3 :(得分:0)
为此。我用这个做了一个功能
function New-DateArray {
Param(
[Parameter(Mandatory = $True)]
[DateTime]$StartDate,
[Parameter(Mandatory = $True)]
[DateTime]$EndDate
)
[Array]$DateArray = @()
while ((Get-Date $StartDate.tostring('yyyy-MM-dd')) -lt (Get-Date $EndDate.tostring('yyyy-MM-dd'))){
$NextDate = Get-Date $StartDate
$DateArray += $NextDate
$startDate = $startDate.AddDays(1)
}
$DateArray += $EndDate
Return $DateArray
}
答案 4 :(得分:0)
$start = Get-Date '2014-08-27'
$end = Get-Date '2014-10-27'
$dates = for ($date = $start; $date -le $end; $date = $date.AddDays(1)) {
$date.ToString('yyyyMMdd')
}
似乎越干净越好。