1

我有一个 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 转换为数组。再次感谢!

4

2 回答 2

1

SelectionRange属性MonthCalendar返回一个SelectionRange对象,其中的StartandEnd属性指示范围的开始和结束。您只需遍历范围即可获得所需的输出:

for($d = $dates.Start; $d -le $dates.End; $d = $d.AddDays(1)){get-date $d -Format "yyyyMMdd"}
于 2013-02-13T23:38:42.440 回答
0

试试这个:

$formatted = $dates | select @{name='date';expression={get-date $_.date -f yyyyMMdd}}
于 2013-07-26T02:38:59.937 回答