【问题标题】:Powershell date range from calendar object to array从日历对象到数组的 Powershell 日期范围
【发布时间】:2013-07-26 11:06:26
【问题描述】:

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

【问题讨论】:

    标签: arrays date user-interface powershell calendar


    【解决方案1】:

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

    for($d = $dates.Start; $d -le $dates.End; $d = $d.AddDays(1)){get-date $d -Format "yyyyMMdd"}
    

    【讨论】:

      【解决方案2】:

      试试这个:

      $formatted = $dates | select @{name='date';expression={get-date $_.date -f yyyyMMdd}}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-31
        相关资源
        最近更新 更多