我有一个powershell GUI日历,您可以在其中选择一系列日期。我需要能够将这些信息转换为YYYYMMDD格式的日期数组。
我知道$Date="{0:yyyyMMdd}"-f(Get-Date)会起作用,但我似乎无法将项放入数组。
我需要一个这样的数组:
20130211
20130212
20130213
这是迄今为止的代码。谢谢你的帮助!
$Calendar = New-Object System.Windows.Forms.MonthCalendar
$Calendar.Location = New-Object System.Drawing.Size(10,80)
$Calendar.ShowTodayCircle = $False
$Calendar.MaxDate = (Get-Date).AddDays(1)
$Calendar.MaxSelectionCount = $CalendarSelect
$MenuBox.Controls.Add($Calendar)
$Dates = $Calendar.SelectionRange
因此$Dates需要转换到数组中。再次感谢!
MonthCalendar
的SelectionRange
属性返回SelectionRange对象,其中Start
和End
属性指示范围的开始和结束。你只需要在范围内循环,就可以得到你想要的输出:
for($d = $dates.Start; $d -le $dates.End; $d = $d.AddDays(1)){get-date $d -Format "yyyyMMdd"}
试试这个:
$formatted = $dates | select @{name='date';expression={get-date $_.date -f yyyyMMdd}}